/* Accounting console, design direction D. Values come only from design-tokens.css (--ds-*). Everything is scoped
   under .acct so it never reaches the rest of the console. Desktop >= 760px; the phone layout is below 760px. */
.acct { color: var(--ds-ink); background: var(--ds-canvas); font-family: var(--ds-font); font-feature-settings: var(--ds-features); font-size: var(--ds-text-base); line-height: var(--ds-lh-base); letter-spacing: var(--ds-track-base); font-variant-numeric: var(--ds-nums); -webkit-font-smoothing: antialiased; min-height: calc(100vh - var(--ds-bar-h)); min-width: 0; position: relative; }
.acct *, .acct *::before, .acct *::after { box-sizing: border-box; }
.acct h1, .acct h2, .acct h3, .acct p, .acct dl, .acct dd, .acct ul { margin: 0; padding: 0; }
.acct ul { list-style: none; }
.acct button { font: inherit; letter-spacing: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; text-align: inherit; }
.acct button:disabled { cursor: not-allowed; }
.acct .hy { font-variant-numeric: normal; }
.acct .ico { width: var(--ds-ico); height: var(--ds-ico); flex: none; stroke: currentColor; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.acct .ico.lg { width: var(--ds-ico-lg); height: var(--ds-ico-lg); stroke-width: 1.2; }
.acct :focus-visible { outline: var(--ds-focus-w) solid var(--ds-focus); outline-offset: var(--ds-focus-off); }
.acct .d1, .acct .d2 { font-family: var(--ds-display); font-weight: var(--ds-display-weight); letter-spacing: var(--ds-display-track); color: var(--ds-ink); }
.acct .d1 { font-size: var(--ds-text-d1); line-height: var(--ds-lh-d1); }
.acct .d2 { font-size: var(--ds-text-d2); line-height: var(--ds-lh-d2); letter-spacing: -0.004em; }
.acct .caps { font-size: var(--ds-text-caps); line-height: var(--ds-lh-caps); font-weight: var(--ds-w-semi); letter-spacing: var(--ds-track-caps); text-transform: uppercase; color: var(--ds-ink-3); }
.acct .meta { font-size: var(--ds-text-sm); line-height: var(--ds-lh-sm); color: var(--ds-ink-3); }
.acct .lbl { font-size: var(--ds-text-sm); line-height: var(--ds-lh-sm); font-weight: var(--ds-w-semi); color: var(--ds-ink-3); }
.acct .dash { color: var(--ds-ink-3); }
.acct .money, .acct .r { font-variant-numeric: var(--ds-nums); }
.acct .r { text-align: right; }
.acct .strong { font-weight: var(--ds-w-semi); }
.acct .sep { color: var(--ds-icon); margin: 0 6px; }

/* ---------- stage bar: the four Accounting tabs on the console's navy chrome ---------- */
.acct .stagebar { height: var(--ds-sub-h); background: var(--ds-chrome); display: flex; align-items: flex-end; gap: 2px; padding: 0 var(--ds-gutter) 0 calc(var(--ds-gutter) - var(--ds-s-3)); }
.acct .stabs { display: flex; align-items: flex-end; gap: 2px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.acct .tab { position: relative; height: 32px; display: flex; align-items: center; gap: var(--ds-s-2); padding: 0 var(--ds-s-3) 6px; border-radius: var(--ds-r-lg) var(--ds-r-lg) 0 0; font-size: var(--ds-text-base); font-weight: var(--ds-w-medium); color: var(--ds-chrome-fg-2); white-space: nowrap; }
.acct .tab .n { margin-left: 2px; font-size: var(--ds-text-sm); font-weight: var(--ds-w-regular); color: var(--ds-chrome-fg-3); }
.acct .tab:hover { color: var(--ds-chrome-fg); }
.acct .tab.on { background: var(--ds-canvas); color: var(--ds-ink); font-weight: var(--ds-w-semi); }
.acct .tab.on .n { color: var(--ds-ink-2); }
.acct .tab.on::before, .acct .tab.on::after { content: ""; position: absolute; bottom: 0; width: 8px; height: 8px; }
.acct .tab.on::before { left: -8px; border-bottom-right-radius: 8px; box-shadow: 4px 4px 0 4px var(--ds-canvas); }
.acct .tab.on::after { right: -8px; border-bottom-left-radius: 8px; box-shadow: -4px 4px 0 4px var(--ds-canvas); }
.acct .stabs { padding-left: 8px; }
.acct .stagebar .right { margin-left: auto; align-self: center; display: flex; align-items: center; gap: var(--ds-s-2); }
.acct .cselect { height: var(--ds-control-h); display: inline-flex; align-items: center; gap: var(--ds-s-2); padding: 0 var(--ds-s-2) 0 10px; border-radius: var(--ds-r-md); background: var(--ds-chrome-field); box-shadow: inset 0 0 0 1px var(--ds-chrome-edge); color: var(--ds-chrome-fg-2); font-size: var(--ds-text-base); white-space: nowrap; }
.acct .cselect .ico { color: var(--ds-chrome-fg-3); }
.acct .cselect input { background: transparent; border: 0; color: var(--ds-chrome-fg); font: inherit; color-scheme: dark; width: 128px; }
.acct .qbconn { height: var(--ds-control-h); display: inline-flex; align-items: center; gap: var(--ds-s-2); padding: 0 var(--ds-s-3) 0 10px; border-radius: var(--ds-r-md); box-shadow: inset 0 0 0 1px var(--ds-chrome-edge); color: var(--ds-chrome-fg-2); white-space: nowrap; }
.acct .qbconn i { width: 8px; height: 8px; border-radius: var(--ds-r-full); background: var(--ds-st-done); box-shadow: 0 0 0 2px color-mix(in srgb, var(--ds-st-done) 35%, transparent); }
.acct .qbconn.t-route { color: var(--ds-chrome-fg-3); box-shadow: none; }
.acct .qbconn.t-route i { background: var(--ds-chrome-fg-3); box-shadow: none; }
.acct .qbconn.t-late { color: var(--ds-chrome-fg); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ds-st-late) 60%, transparent); }
.acct .qbconn.t-late i { background: var(--ds-st-late); box-shadow: 0 0 0 2px color-mix(in srgb, var(--ds-st-late) 35%, transparent); }
.acct .stale, .acct .flash { display: flex; align-items: center; gap: var(--ds-s-3); padding: var(--ds-s-2) var(--ds-gutter); font-size: var(--ds-text-base); color: var(--ds-ink-2); }
.acct .stale.warn { background: transparent; box-shadow: none;border:0;border-radius:0;color:var(--ds-ink-3);padding:2px var(--ds-gutter) }
.acct .stale.bad { background: var(--ds-st-late-bg); box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--ds-st-late-bd) 45%, transparent); }
.acct .stale .ico { color: var(--ds-ink-2); }
.acct .stale .btn { margin-left: auto; }
.acct .flash { background: var(--ds-tint); box-shadow: inset 0 -1px 0 var(--ds-line); }
.acct .flash .ico { color: var(--ds-st-done); }
.acct .flash.warn .ico { color: var(--ds-ink-3); }
.acct .flash.info .ico { color: var(--ds-ink-3); }
.acct .flash.bad .ico { color: var(--ds-st-late); }
.acct .flash .btn { margin-left: auto; }

/* ---------- buttons, links, menus ---------- */
.acct .btn { height: var(--ds-control-h); display: inline-flex; align-items: center; justify-content: center; gap: var(--ds-s-2); padding: 0 var(--ds-s-3); border-radius: var(--ds-r-md); font-size: var(--ds-text-base); font-weight: var(--ds-w-medium); white-space: nowrap; cursor: pointer; }
.acct .btn .ico { width: 14px; height: 14px; }
.acct .btn.sm { height: 28px; padding: 0 10px; font-size: var(--ds-text-sm); }
.acct .btn.sq { width: var(--ds-control-h); padding: 0; }
.acct .btn.sm.sq { width: 28px; }
.acct .btn.primary { background: var(--ds-action); color: var(--ds-action-fg); font-weight: var(--ds-w-semi); box-shadow: var(--ds-e-primary); }
.acct .btn.primary .ico { color: var(--ds-action-fg); }
.acct .btn.primary:hover { background: var(--ds-action-hover); }
.acct .btn.primary:active { background: var(--ds-action-press); box-shadow: var(--ds-e-primary-press); }
.acct .btn.secondary { background: var(--ds-surface); color: var(--ds-ink); box-shadow: var(--ds-e-secondary); }
.acct .btn.secondary .ico { color: var(--ds-ink-2); }
.acct .btn.secondary:hover { background: var(--ds-paper-hover); box-shadow: inset 0 0 0 1px var(--ds-ink-3); }
.acct .btn.quiet { color: var(--ds-ink-2); padding: 0 var(--ds-s-2); }
.acct .btn.quiet.sq { padding: 0; }
.acct .btn.quiet .ico { color: var(--ds-icon); }
.acct .btn.quiet:hover { background: var(--ds-paper-hover); }
.acct .btn.danger { background: var(--ds-surface); color: var(--ds-st-late-ink); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ds-st-late) 55%, transparent); }
.acct .btn:disabled { background: var(--ds-disabled-bg); color: var(--ds-disabled-fg); box-shadow: inset 0 0 0 1px var(--ds-disabled-bd); }
.acct .btn:disabled .ico { color: inherit; }
.acct .needed-action { position: relative; display: inline-flex; max-width: 100%; }
.acct .needed-list { position: absolute; top: calc(100% + var(--ds-s-2)); right: 0; z-index: 1; width: max-content; max-width: calc(100vw - var(--ds-s-8)); padding: var(--ds-s-3); background: var(--ds-surface); color: var(--ds-ink-2); box-shadow: var(--ds-e-pop); border-radius: var(--ds-r-md); font-size: var(--ds-text-sm); font-weight: var(--ds-w-regular); }
.acct .needed-list ul { display: grid; gap: var(--ds-s-2); margin-top: var(--ds-s-2); }
.acct .ulink, .acct .idl { color: var(--ds-ink); font-weight: var(--ds-w-medium); text-decoration: underline; text-decoration-color: var(--ds-field); text-underline-offset: 3px; text-decoration-thickness: 1px; }
.acct .ulink { font-size: var(--ds-text-sm); }
.acct .ulink:hover, .acct .idl:hover { text-decoration-color: var(--ds-ink); }
.acct .mnu { position: relative; display: inline-block; }
.acct .mnu > summary { list-style: none; }
.acct .mnu > summary::-webkit-details-marker { display: none; }
.acct .mnu-list { position: absolute; right: 0; top: calc(100% + 4px); z-index: 30; min-width: 220px; padding: 4px; border-radius: var(--ds-r-lg); background: var(--ds-surface); box-shadow: var(--ds-e-pop); display: grid; }
.acct .mnu-i { display: block; width: 100%; padding: 8px 10px; border-radius: var(--ds-r-md); font-size: var(--ds-text-base); color: var(--ds-ink); white-space: nowrap; }
.acct .mnu-i:hover { background: var(--ds-paper-hover); }
.acct .mnu-i.danger { color: var(--ds-st-late-ink); }
.acct .mnu-i:disabled { color: var(--ds-disabled-fg); background: none; }

/* ---------- status marks and pills (one geometric family; colour lives in the glyph and tint) ---------- */
.acct .st { display: inline-flex; align-items: center; gap: 6px; font-size: var(--ds-text-sm); line-height: var(--ds-lh-sm); font-weight: var(--ds-w-medium); white-space: nowrap; color: var(--ds-ink-2); }
.acct .st::before, .acct .pill::before, .acct .chip.cg::before { content: ""; width: 12px; height: 12px; flex: none; display: inline-block; background: currentColor; -webkit-mask: var(--g) center / 12px 12px no-repeat; mask: var(--g) center / 12px 12px no-repeat; }
.acct .t-sched { --g: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Ccircle cx='6' cy='6' r='4.75' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E"); }
.acct .t-route { --g: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Ccircle cx='6' cy='6' r='4.75' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3Cpath d='M6 2.75a3.25 3.25 0 0 1 0 6.5z'/%3E%3C/svg%3E"); }
.acct .t-site { --g: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Ccircle cx='6' cy='6' r='4.75' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3Ccircle cx='6' cy='6' r='3.25'/%3E%3C/svg%3E"); }
.acct .t-done { --g: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cmask id='m'%3E%3Crect width='12' height='12' fill='%23fff'/%3E%3Cpath d='M3.7 6.1 5.3 7.7 8.4 4.4' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/mask%3E%3Ccircle cx='6' cy='6' r='5.5' mask='url%28%23m%29'/%3E%3C/svg%3E"); }
.acct .t-late { --g: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cmask id='m'%3E%3Crect width='12' height='12' fill='%23fff'/%3E%3Cpath d='M6 3.2v3.3' stroke='%23000' stroke-width='1.5' stroke-linecap='round'/%3E%3Ccircle cx='6' cy='8.6' r='.85' fill='%23000'/%3E%3C/mask%3E%3Ccircle cx='6' cy='6' r='5.5' mask='url%28%23m%29'/%3E%3C/svg%3E"); }
.acct .st.t-sched::before, .acct .pill.t-sched::before { background: var(--ds-st-sched); }
.acct .st.t-site::before, .acct .pill.t-site::before { background: var(--ds-st-site); }
.acct .st.t-route::before, .acct .pill.t-route::before { background: var(--ds-ink-3); }
.acct .st.t-done::before, .acct .pill.t-done::before { background: var(--ds-st-done); }
.acct .st.t-late::before, .acct .pill.t-late::before { background: var(--ds-st-late); }
.acct .st.t-late { color: var(--ds-ink-2); }
.acct .pill { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 var(--ds-s-2) 0 6px; border-radius: var(--ds-r-sm); font-size: var(--ds-text-sm); font-weight: var(--ds-w-medium); white-space: nowrap; color: var(--ds-ink-2); background: var(--ds-canvas); box-shadow: inset 0 0 0 1px var(--ds-line); }
.acct .pill.t-site { background: var(--ds-st-site-bg); box-shadow: none; }
.acct .pill.t-route { background: transparent; box-shadow: none; }
.acct .pill.t-done { background: var(--ds-st-done-bg); box-shadow: none; }
.acct .pill.t-late { background: var(--ds-st-late-bg); box-shadow: none; color: var(--ds-st-late-ink); }
.acct .tagx { display: inline-block; flex: none; padding: 0 5px; border-radius: 3px; background: var(--ds-tint); color: var(--ds-ink-3); font-size: 11px; line-height: 18px; white-space: nowrap; font-weight: var(--ds-w-medium); }

/* ---------- list page head, underline tabs, chips, search ---------- */
.acct .acct-body { min-width: 0; }
.acct .listpage { padding: var(--ds-s-5) var(--ds-gutter) var(--ds-s-8); min-width: 0; }
.acct .listframe { display: grid; grid-template-columns: minmax(0, 1fr) 360px; align-items: start; }
.acct .listframe > .listpage { grid-column: 1; }
.acct .listframe > .lpanel { grid-column: 2; position: sticky; top: 0; align-self: start; margin-top: var(--ds-s-4); background: var(--ds-surface); box-shadow: inset 1px 0 0 var(--ds-line), 0 -1px 0 var(--ds-line); min-height: 320px; }
.acct .phead { display: flex; align-items: flex-end; flex-wrap: wrap; gap: var(--ds-s-2) var(--ds-s-6); }
.acct .phead .tt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.acct .crumb-line { font-size: var(--ds-text-sm); line-height: var(--ds-lh-sm); color: var(--ds-ink-3); }
.acct .sumline { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; margin-bottom: 2px; font-size: var(--ds-text-base); line-height: 20px; color: var(--ds-ink-2); }
.acct .sumline b { color: var(--ds-ink); font-weight: var(--ds-w-semi); }
.acct .sumline .dot::before { content: "\00b7"; color: var(--ds-ink-3); margin-right: 8px; }
.acct .phead .acts { margin-left: auto; display: flex; gap: var(--ds-s-2); align-items: center; }
.acct .utabs-row { margin-top: var(--ds-s-4); box-shadow: inset 0 -1px 0 var(--ds-line); display: flex; align-items: center; overflow-x: auto; scrollbar-width: none; }
.acct .utabs { display: flex; gap: var(--ds-s-6); }
.acct .utab { position: relative; display: flex; align-items: center; gap: 6px; height: 36px; font-size: var(--ds-text-base); font-weight: var(--ds-w-medium); color: var(--ds-ink-3); white-space: nowrap; }
.acct .utab .n { font-size: var(--ds-text-sm); color: var(--ds-ink-3); font-weight: var(--ds-w-regular); }
.acct .utab.on { color: var(--ds-ink); font-weight: var(--ds-w-semi); }
.acct .utab.on::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--ds-selection); border-radius: var(--ds-r-tag) var(--ds-r-tag) 0 0; }
.acct .toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: var(--ds-s-2); padding: var(--ds-s-3) 0; }
.acct .toolbar .tb-r { margin-left: auto; display: flex; align-items: center; gap: var(--ds-s-2); }
.acct .chips { display: flex; flex-wrap: wrap; gap: var(--ds-s-2); }
.acct .chip { height: 28px; display: inline-flex; align-items: center; gap: 6px; padding: 0 10px; border-radius: var(--ds-r-md); background: var(--ds-surface); box-shadow: inset 0 0 0 1px var(--ds-line); font-size: var(--ds-text-sm); font-weight: var(--ds-w-medium); color: var(--ds-ink-2); white-space: nowrap; }
.acct .chip .n { color: var(--ds-ink-3); font-weight: var(--ds-w-regular); }
.acct .chip.on { box-shadow: inset 0 0 0 1px var(--ds-field); color: var(--ds-ink); background: var(--ds-sel-bg); }
.acct .chip.no-action { background: var(--ds-canvas); color: var(--ds-ink-3); }
.acct .chip.cg.t-late::before { background: var(--ds-st-late); } .acct .chip.cg.t-route::before { background: var(--ds-ink-3); } .acct .chip.cg.t-site::before { background: var(--ds-st-site); } .acct .chip.cg.t-done::before { background: var(--ds-st-done); } .acct .chip.cg.t-sched::before { background: var(--ds-st-sched); }
.acct .sbox { height: 28px; width: 248px; display: inline-flex; align-items: center; gap: var(--ds-s-2); padding: 0 var(--ds-s-2); border-radius: var(--ds-r-md); background: var(--ds-surface); box-shadow: inset 0 0 0 1px var(--ds-field); color: var(--ds-ink-3); }
.acct .sbox .ico { width: 14px; height: 14px; color: var(--ds-icon); }
.acct .sbox input { flex: 1; min-width: 0; border: 0; background: transparent; font: inherit; font-size: var(--ds-text-sm); color: var(--ds-ink); outline: none; }
.acct .selectx { height: 28px; border: 0; border-radius: var(--ds-r-md); padding: 0 28px 0 10px; background: var(--ds-surface); box-shadow: inset 0 0 0 1px var(--ds-field); font: inherit; font-size: var(--ds-text-sm); color: var(--ds-ink); }

/* ---------- the queue sheet (white working surface) with grouped grid rows ---------- */
.acct .sheetx { background: var(--ds-surface); border-radius: var(--ds-r-lg); box-shadow: 0 0 0 1px var(--ds-line); overflow: hidden; }
.acct .qgrid { display: grid; column-gap: var(--ds-s-3); padding: 0 var(--ds-s-4); align-items: center; }
.acct .qgrid > * { min-width: 0; }
.acct .qhead { min-height: 36px; box-shadow: inset 0 -1px 0 var(--ds-line); }
.acct .qhead > * { white-space: nowrap; }
.acct .grp { min-height: 56px; padding-top: 10px; padding-bottom: 10px; background: color-mix(in srgb, var(--ds-canvas) 60%, var(--ds-surface)); box-shadow: inset 0 1px 0 var(--ds-line), inset 0 -0.5px 0 var(--ds-rule); }
.acct .grow-row { position: relative; min-height: 56px; padding-top: 8px; padding-bottom: 8px; box-shadow: inset 0 -0.5px 0 var(--ds-rule); cursor: pointer; }
.acct .grow-row:hover { background: var(--ds-paper-hover); }
.acct .grow-row.sel { background: var(--ds-sel-bg); box-shadow: inset 3px 0 0 var(--ds-selection), inset 0 -0.5px 0 var(--ds-rule); }
.acct .c2 { display: flex; flex-direction: column; min-width: 0; }
.acct .c2 .a { font-size: var(--ds-text-base); line-height: 20px; color: var(--ds-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.acct .c2 .b { font-size: var(--ds-text-sm); line-height: 16px; color: var(--ds-ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.acct .c2.r { align-items: flex-end; }
.acct .idn { font-weight: var(--ds-w-semi); color: var(--ds-ink); }
.acct .row-acts { display: flex; justify-content: flex-end; gap: 4px; opacity: 0; }
.acct .grow-row:hover .row-acts, .acct .grow-row.sel .row-acts, .acct .grow-row:focus-within .row-acts, .acct .grp:hover .row-acts, .acct .grp:focus-within .row-acts { opacity: 1; }
.acct .qfoot { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: var(--ds-s-2) var(--ds-s-4); padding: var(--ds-s-3) var(--ds-s-1) 0; font-size: var(--ds-text-sm); color: var(--ds-ink-3); }
.acct .ck { display: inline-flex; align-items: center; gap: 8px; font-size: var(--ds-text-base); color: var(--ds-ink); cursor: pointer; }
.acct .ck input { width: 14px; height: 14px; margin: 0; accent-color: var(--ds-selection); }

/* ---------- progress bar (native <progress>) ---------- */
.acct .pbar { -webkit-appearance: none; appearance: none; display: block; width: 100%; height: 4px; border: 0; border-radius: 2px; background: var(--ds-hair); color: var(--ds-ink-2); overflow: hidden; }
.acct .pbar::-webkit-progress-bar { background: var(--ds-hair); border-radius: 2px; }
.acct .pbar::-webkit-progress-value { background: var(--ds-ink-2); border-radius: 2px; }
.acct .pbar::-moz-progress-bar { background: var(--ds-ink-2); border-radius: 2px; }
.acct .pbar.full::-webkit-progress-value { background: var(--ds-st-done); } .acct .pbar.full::-moz-progress-bar { background: var(--ds-st-done); }
.acct .pbar.over::-webkit-progress-value { background: var(--ds-ink-3); } .acct .pbar.over::-moz-progress-bar { background: var(--ds-ink-3); }

/* ---------- detail pages: main column + right rail ---------- */
.acct .dp { display: grid; grid-template-columns: minmax(0, 1fr) 380px; align-items: start; min-height: calc(100vh - 160px); }
.acct .dp-main { min-width: 0; padding: var(--ds-s-5) var(--ds-s-8) var(--ds-s-8); }
.acct .dp-rail { align-self: stretch; background: var(--ds-surface); box-shadow: inset 1px 0 0 var(--ds-line); min-width: 0; }
.acct .rs { padding: var(--ds-s-5); box-shadow: inset 0 -1px 0 var(--ds-line); }
.acct .rs:last-child { box-shadow: none; }
.acct .rs-h { display: flex; align-items: baseline; gap: var(--ds-s-2); margin-bottom: var(--ds-s-3); }
.acct .rs-h h3 { font-size: var(--ds-text-base); line-height: 20px; font-weight: var(--ds-w-semi); }
.acct .rs-h .end { margin-left: auto; }
.acct .crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: var(--ds-text-sm); line-height: 16px; color: var(--ds-ink-3); }
.acct .crumbs .ico { width: 12px; height: 12px; color: var(--ds-icon); }
.acct .crumb:is(button):hover { color: var(--ds-ink); text-decoration: underline; }
.acct .titlebar { display: flex; align-items: center; gap: var(--ds-s-3); margin-top: var(--ds-s-2); flex-wrap: wrap; }
.acct .titlebar .acts { margin-left: auto; display: flex; gap: var(--ds-s-2); flex-wrap: wrap; align-items: center; }
.acct .metaline { margin-top: 6px; font-size: var(--ds-text-base); line-height: 20px; color: var(--ds-ink-2); }
.acct .metaline .sep { margin: 0 8px; color: var(--ds-ink-3); }
.acct .card { margin-top: var(--ds-s-4); background: var(--ds-surface); border-radius: var(--ds-r-lg); box-shadow: 0 0 0 1px var(--ds-line); min-width: 0; }
.acct .card-h { display: flex; align-items: center; gap: var(--ds-s-2); min-height: 48px; padding: 0 var(--ds-s-6); box-shadow: inset 0 -1px 0 var(--ds-line); }
.acct .card-h h2 { font-size: var(--ds-text-md); line-height: 20px; font-weight: var(--ds-w-semi); }
.acct .card-h .end { margin-left: auto; display: flex; gap: var(--ds-s-2); align-items: center; }
.acct .card-b { padding: var(--ds-s-5) var(--ds-s-6); }
.acct .facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ds-s-5) var(--ds-s-6); }
.acct .facts .v { margin-top: 4px; font-size: var(--ds-text-base); line-height: 20px; color: var(--ds-ink); overflow-wrap: anywhere; }
.acct .facts .v .meta { display: block; }
.acct dl.kv { display: grid; grid-template-columns: 104px minmax(0, 1fr); row-gap: 6px; column-gap: var(--ds-s-3); font-size: var(--ds-text-base); line-height: 20px; }
.acct dl.kv dt { color: var(--ds-ink-3); }
.acct dl.kv dd { min-width: 0; overflow-wrap: anywhere; }
.acct .leadfig { font-size: var(--ds-text-d1); line-height: var(--ds-lh-d1); font-weight: var(--ds-w-semi); letter-spacing: -0.025em; color: var(--ds-ink); font-variant-numeric: var(--ds-nums); white-space: nowrap; }
.acct .leadfig .c { font-size: 20px; line-height: 20px; vertical-align: 15px; margin-left: 1px; }
.acct .midfig { font-size: var(--ds-text-d2); line-height: var(--ds-lh-d2); font-weight: var(--ds-w-semi); letter-spacing: -0.015em; font-variant-numeric: var(--ds-nums); }
.acct .empty-line { font-size: var(--ds-text-base); color: var(--ds-ink-3); }

/* tables */
.acct .tblwrap { overflow-x: auto; }
.acct table.tbl { width: 100%; border-collapse: collapse; }
.acct .tbl th { height: 36px; padding: 0 var(--ds-s-3); text-align: left; white-space: nowrap; box-shadow: inset 0 -1px 0 var(--ds-line); }
.acct .tbl th.r { text-align: right; }
.acct .tbl td { height: 44px; padding: 6px var(--ds-s-3); font-size: var(--ds-text-base); line-height: 20px; box-shadow: inset 0 -0.5px 0 var(--ds-rule); vertical-align: middle; }
.acct .tbl th:first-child, .acct .tbl td:first-child { padding-left: var(--ds-s-6); }
.acct .tbl th:last-child, .acct .tbl td:last-child { padding-right: var(--ds-s-6); }
.acct .tbl td.r { text-align: right; white-space: nowrap; }
.acct .tbl .pn { font-size: var(--ds-text-sm); color: var(--ds-ink-3); letter-spacing: 0.02em; white-space: nowrap; }
.acct .id-lines .pn, .acct .pd-lines .pn { white-space: normal; overflow-wrap: anywhere; min-width: calc(var(--ds-s-10) * 2); }
.acct .tbl tr[data-a] { cursor: pointer; }
.acct .tbl tr[data-a]:hover { background: var(--ds-paper-hover); }
.acct .tbl input.cell, .acct .tbl select.cell { width: 100%; height: 32px; border: 0; border-radius: var(--ds-r-md); padding: 0 8px; box-shadow: inset 0 0 0 1px var(--ds-field); font: inherit; color: var(--ds-ink); background: var(--ds-surface); }
.acct .tbl input.cell.r { text-align: right; font-variant-numeric: var(--ds-nums); }
.acct .tbl input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--ds-selection); }
.acct .totals { display: grid; grid-template-columns: minmax(0, 1fr) 360px; padding: var(--ds-s-4) var(--ds-s-6) var(--ds-s-5); }
.acct .tt { display: grid; row-gap: 8px; font-size: var(--ds-text-base); line-height: 20px; }
.acct .tt .tr { display: flex; justify-content: space-between; gap: var(--ds-s-3); color: var(--ds-ink-2); }
.acct .tt .tr > span:last-child { color: var(--ds-ink); font-variant-numeric: var(--ds-nums); white-space: nowrap; text-align: right; }
.acct .tt .tr .meta { display: block; }
.acct .tt .tr.tot { padding-top: 10px; box-shadow: inset 0 1px 0 var(--ds-field); color: var(--ds-ink); font-weight: var(--ds-w-semi); }
.acct .addrow { display: flex; align-items: center; gap: var(--ds-s-3); padding: var(--ds-s-3) var(--ds-s-6); box-shadow: inset 0 -0.5px 0 var(--ds-rule); position: relative; }
.acct .addrow .sbox { flex: 1; max-width: 420px; height: 32px; }

/* forms */
.acct .form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ds-s-4) var(--ds-s-5); }
.acct .form .full { grid-column: 1 / -1; }
.acct .field { min-width: 0; width: 100%; max-width: calc(var(--ds-s-10) * 8); }
.acct .field:has(textarea) { max-width: calc(var(--ds-s-10) * 16); }
.acct .field label { display: block; margin-bottom: 6px; font-size: var(--ds-text-sm); line-height: 16px; font-weight: var(--ds-w-medium); color: var(--ds-ink-3); }
.acct .field input, .acct .field select, .acct .field textarea { width: 100%; min-height: 36px; border: 0; border-radius: var(--ds-r-md); padding: 0 var(--ds-s-3); background: var(--ds-surface); box-shadow: inset 0 0 0 1px var(--ds-field); color: var(--ds-ink); font: inherit; font-size: var(--ds-text-base); }
.acct .field textarea { padding: 10px var(--ds-s-3); line-height: 20px; resize: vertical; min-height: 140px; }
.acct .field input[readonly], .acct .field textarea[readonly] { background: var(--ds-canvas); box-shadow: inset 0 0 0 1px var(--ds-line); color: var(--ds-ink-2); }
.acct .field .hint { margin-top: 6px; font-size: var(--ds-text-sm); line-height: 16px; color: var(--ds-ink-3); }
.acct .field.has-err input, .acct .field.has-err textarea, .acct .field.has-err select { box-shadow: inset 0 0 0 1px var(--ds-st-late); }
.acct .ferr { margin-top: 6px; font-size: var(--ds-text-sm); line-height: 16px; color: var(--ds-st-late-ink); }
.acct .seg2 { display: inline-flex; flex-wrap: wrap; padding: 3px; gap: 3px; border-radius: var(--ds-r-lg); background: var(--ds-canvas); box-shadow: inset 0 0 0 1px var(--ds-line); }
.acct .seg2 button { min-height: 30px; display: inline-flex; align-items: center; padding: 0 var(--ds-s-3); border-radius: var(--ds-r-md); font-size: var(--ds-text-base); font-weight: var(--ds-w-medium); color: var(--ds-ink-3); }
.acct .seg2 button.on { background: var(--ds-surface); color: var(--ds-ink); box-shadow: var(--ds-e-secondary); }
.acct .chipin { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 0 10px; border-radius: var(--ds-r-full); background: var(--ds-canvas); box-shadow: inset 0 0 0 1px var(--ds-line); font-size: var(--ds-text-sm); color: var(--ds-ink); }
.acct .attach { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 10px; border-radius: var(--ds-r-md); box-shadow: inset 0 0 0 1px var(--ds-line); font-size: var(--ds-text-sm); }
.acct .attach .ico { width: 14px; height: 14px; color: var(--ds-icon); }
.acct .factrow { display: flex; flex-wrap: wrap; gap: 6px 16px; padding: var(--ds-s-3) var(--ds-s-4); border-radius: var(--ds-r-md); background: var(--ds-canvas); font-size: var(--ds-text-sm); line-height: 18px; color: var(--ds-ink-2); }
.acct .factrow b { color: var(--ds-ink); font-weight: var(--ds-w-semi); font-variant-numeric: var(--ds-nums); }

/* notes, errors, empty, loading */
.acct .note { display: flex; align-items: center; gap: var(--ds-s-3); margin-top: var(--ds-s-4); min-height: 44px; padding: var(--ds-s-2) var(--ds-s-3) var(--ds-s-2) var(--ds-s-4); border-radius: var(--ds-r-lg); background: var(--ds-canvas); box-shadow: inset 0 0 0 1px var(--ds-line); font-size: var(--ds-text-base); line-height: 20px; color: var(--ds-ink-2); }
.acct .note > .ico { width: 16px; height: 16px; flex: none; color: var(--ds-icon); }
.acct .note .nt { min-width: 0; }
.acct .note .nt b { color: var(--ds-ink); font-weight: var(--ds-w-semi); }
.acct .note .nt ul { display: grid; gap: 2px; }
.acct .note.warn { background: transparent; box-shadow: none;border:0;border-radius:0;color:var(--ds-ink-3);padding:2px 0;min-height:0;margin-top:4px;font-size:var(--ds-text-sm) }
.acct .note.warn > .ico { color: var(--ds-ink-3); }
.acct .note.bad { background: var(--ds-tint); box-shadow: none; }
.acct .note.bad > .ico { color: var(--ds-st-late); }
.acct .note.ok { background: var(--ds-tint); box-shadow: none; }
.acct .note.ok > .ico { color: var(--ds-st-done); }
.acct .note .acts { margin-left: auto; display: flex; gap: var(--ds-s-2); flex: none; }
.acct .errbox { display: flex; align-items: center; gap: var(--ds-s-3); margin: var(--ds-s-4) 0; padding: var(--ds-s-3) var(--ds-s-4); border-radius: var(--ds-r-lg); background: var(--ds-tint); color: var(--ds-ink); }
.acct .errbox .ico { color: var(--ds-st-late); }
.acct .errbox .btn { margin-left: auto; }
.acct .emptybox { display: grid; justify-items: center; gap: var(--ds-s-3); padding: var(--ds-s-10) var(--ds-s-4); color: var(--ds-ink-2); text-align: center; }
.acct .emptybox .ico { color: var(--ds-icon); }
.acct .sk-box { padding: var(--ds-s-2) var(--ds-s-4); }
.acct .sk-row { display: grid; grid-template-columns: 1fr 3fr 2fr 1fr 2fr; gap: var(--ds-s-4); align-items: center; height: 48px; box-shadow: inset 0 -0.5px 0 var(--ds-rule); }
.acct .sk { display: block; height: 10px; border-radius: 3px; background: linear-gradient(90deg, var(--ds-hair), var(--ds-canvas), var(--ds-hair)); background-size: 200% 100%; animation: acct-sk 1.4s ease-in-out infinite; }
.acct .sk.w1 { width: 60%; } .acct .sk.w2 { width: 80%; } .acct .sk.w3 { width: 90%; }
@keyframes acct-sk { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } }
@media (prefers-reduced-motion: reduce) { .acct .sk { animation: none; } }

/* timeline */
.acct .evs { display: grid; }
.acct .ev { display: grid; grid-template-columns: 24px minmax(0, 1fr); column-gap: var(--ds-s-3); position: relative; padding-bottom: var(--ds-s-3); }
.acct .ev:not(:last-child)::before { content: ""; position: absolute; left: 11.5px; top: 26px; bottom: 2px; width: 1px; background: var(--ds-line); }
.acct .ev .mk { width: 24px; height: 24px; border-radius: var(--ds-r-full); display: grid; place-items: center; background: var(--ds-canvas); box-shadow: inset 0 0 0 1px var(--ds-line); color: var(--ds-icon); }
.acct .ev .mk .ico { width: 12px; height: 12px; }
.acct .ev .t1 { font-size: var(--ds-text-base); line-height: 20px; color: var(--ds-ink); padding-top: 2px; overflow-wrap: anywhere; }
.acct .ev .t2 { font-size: var(--ds-text-sm); line-height: 16px; color: var(--ds-ink-3); }
.acct .quote { margin-top: 6px; padding: var(--ds-s-2) var(--ds-s-3); border-radius: var(--ds-r-md); background: var(--ds-canvas); font-size: var(--ds-text-base); line-height: 20px; color: var(--ds-ink-2); white-space: pre-wrap; }

/* side sheet */
.acct .sheet-layer { position: fixed; inset: 0; z-index: 50; }
.acct .scrim { position: absolute; inset: 0; background: var(--ds-scrim); }
.acct .sheet { position: absolute; top: 0; right: 0; bottom: 0; width: 520px; max-width: 100%; display: flex; flex-direction: column; background: var(--ds-surface); box-shadow: var(--ds-e-pop); }
.acct .sheet.wide { width: 720px; }
.acct .sheet-h { position: relative; padding: var(--ds-s-5) var(--ds-s-6) var(--ds-s-4); box-shadow: inset 0 -1px 0 var(--ds-line); }
.acct .sheet-h h2 { font-size: var(--ds-text-d2); line-height: var(--ds-lh-d2); font-weight: var(--ds-w-semi); letter-spacing: var(--ds-track-tight); padding-right: 40px; }
.acct .sheet-h .meta { margin-top: 4px; font-size: var(--ds-text-base); color: var(--ds-ink-2); }
.acct .sheet-h .x { position: absolute; top: 16px; right: 16px; width: 32px; height: 32px; }
.acct .sheet-b { flex: 1; overflow: auto; padding: var(--ds-s-5) var(--ds-s-6); display: grid; gap: var(--ds-s-4); align-content: start; }
.acct .sheet-b .note { margin-top: 0; }
.acct .sheet-f { display: flex; align-items: center; gap: var(--ds-s-2); padding: var(--ds-s-4) var(--ds-s-6); box-shadow: inset 0 1px 0 var(--ds-line); }
.acct .sheet-f .cap { font-size: var(--ds-text-sm); color: var(--ds-ink-3); margin-right: auto; }
.acct .sheet-f > .btn:first-child { margin-left: auto; }
.acct .sheet-f .cap + .btn { margin-left: 0; }
.acct .alist { display: grid; }
.acct .arow { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px var(--ds-s-3); align-items: center; padding: var(--ds-s-3) 0; box-shadow: inset 0 -0.5px 0 var(--ds-rule); }
.acct .arow:last-child { box-shadow: none; }
.acct .arow .an { font-size: var(--ds-text-base); line-height: 20px; font-weight: var(--ds-w-semi); color: var(--ds-ink); }
.acct .arow .ae { grid-column: 1; font-size: var(--ds-text-sm); line-height: 16px; color: var(--ds-ink-3); }
.acct .arow .btn { grid-row: 1 / 3; grid-column: 2; height: 30px; padding: 0 12px; font-size: var(--ds-text-sm); }
.acct .arow .an.danger { color: var(--ds-st-late-ink); }
.acct .status-now { display: flex; align-items: center; gap: var(--ds-s-2); padding-bottom: var(--ds-s-3); margin-bottom: var(--ds-s-1); box-shadow: inset 0 -1px 0 var(--ds-line); }
.acct .status-now .meta { margin-left: auto; }

/* ---------- mid widths: the list side panel goes away; wide grids scroll inside their sheet ---------- */
@media (min-width: 760px) and (max-width: 1399px) {
  .acct .listframe { grid-template-columns: minmax(0, 1fr); }
  .acct .listframe > .lpanel { display: none; }
}
@media (min-width: 760px) and (max-width: 1099px) {
  .acct .dp { grid-template-columns: minmax(0, 1fr); }
  .acct .dp-rail { box-shadow: inset 0 1px 0 var(--ds-line); }
  .acct .dp-main { padding: var(--ds-s-5) var(--ds-gutter) var(--ds-s-6); }
}

/* ---------- phone (< 760px): a designed layout, not a squeezed desktop ---------- */
@media screen and (max-width: 759px) {
  .acct { font-size: var(--ds-text-p-meta); }
  .acct .stagebar { padding: var(--ds-s-1) var(--ds-s-2) 0; height: auto; flex-wrap: wrap; }
  .acct .stabs { width: 100%; -webkit-mask: linear-gradient(90deg, #000 calc(100% - 24px), transparent); mask: linear-gradient(90deg, #000 calc(100% - 24px), transparent); padding-right: 24px; }
  .acct .tab { height: 40px; padding: 0 var(--ds-s-3) 2px; font-size: var(--ds-text-p-meta); }
  .acct .stagebar .right { width: 100%; padding: var(--ds-s-1) var(--ds-s-2) var(--ds-s-2); background: var(--ds-chrome); order: -1; justify-content: space-between; }
  .acct .qbconn { box-shadow: none; padding: 0; height: 28px; font-size: var(--ds-text-sm); }
  .acct .cselect { height: 32px; }
  .acct .cselect input { width: 120px; }
  .acct .stale, .acct .flash { padding: var(--ds-s-2) var(--ds-s-4); flex-wrap: wrap; }
  .acct .listpage { padding: var(--ds-s-4) var(--ds-s-4) calc(96px + env(safe-area-inset-bottom)); }
  .acct .phead { align-items: flex-start; }
  .acct .phead .acts { position: fixed; left: 0; right: 0; bottom: 0; z-index: 20; margin: 0; padding: var(--ds-s-3) var(--ds-s-4) calc(var(--ds-s-3) + env(safe-area-inset-bottom)); background: var(--ds-surface); box-shadow: var(--ds-e-bar); }
  .acct .phead .acts .btn { height: var(--ds-touch-primary); flex: 1; font-size: var(--ds-text-p-body); border-radius: var(--ds-r-lg); }
  .acct .sumline { font-size: var(--ds-text-p-meta); width: 100%; }
  .acct .toolbar .tb-r { margin-left: 0; width: 100%; }
  .acct .sbox { width: 100%; height: 44px; }
  .acct .chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; width: 100%; }
  .acct .chip { height: 36px; font-size: var(--ds-text-p-meta); flex: none; }
  .acct .utab { height: 44px; }
  .acct .btn { min-height: 40px; }
  .acct .btn.sm { min-height: 36px; }
  .acct .row-acts { opacity: 1; }
  .acct .qhead { display: none; }
  .acct .dp { display: block; min-height: 0; }
  .acct .dp-main { padding: var(--ds-s-4) var(--ds-s-4) var(--ds-s-6); }
  .acct .dp-rail { box-shadow: none; background: transparent; padding: 0 var(--ds-s-4) 96px; }
  .acct .dp-rail .rs { margin-top: var(--ds-s-3); border-radius: var(--ds-r-lg); background: var(--ds-surface); box-shadow: 0 0 0 1px var(--ds-line); padding: var(--ds-s-4); }
  .acct .titlebar .d1 { font-size: var(--ds-text-p-d1); line-height: var(--ds-lh-p-d1); width: 100%; }
  .acct .titlebar .acts { width: 100%; margin-left: 0; }
  .acct .titlebar .acts .btn.primary { order: -1; flex: 1 1 100%; height: var(--ds-touch-primary); font-size: var(--ds-text-p-body); }
  .acct .titlebar .acts > .needed-action { flex: 1 1 100%; }
  .acct .needed-action > .btn { width: 100%; }
  .acct .needed-list .ulink { min-height: var(--ds-touch-h); }
  .acct .metaline { font-size: var(--ds-text-p-meta); }
  .acct .card-h { padding: 0 var(--ds-s-4); }
  .acct .card-b { padding: var(--ds-s-4); }
  .acct .facts { grid-template-columns: 1fr; gap: var(--ds-s-3); }
  .acct .form { grid-template-columns: 1fr; }
  .acct .field input, .acct .field select { min-height: 44px; font-size: var(--ds-text-p-body); }
  .acct .totals { grid-template-columns: 1fr; padding: var(--ds-s-4); }
  .acct .tbl th:first-child, .acct .tbl td:first-child { padding-left: var(--ds-s-4); }
  .acct .tbl th:last-child, .acct .tbl td:last-child { padding-right: var(--ds-s-4); }
  .acct .tbl.cards thead { display: none; }
  .acct .tbl.cards, .acct .tbl.cards tbody, .acct .tbl.cards tr, .acct .tbl.cards td { display: block; width: 100%; }
  .acct .tbl.cards tr { padding: var(--ds-s-3) var(--ds-s-4); box-shadow: inset 0 -0.5px 0 var(--ds-rule); }
  .acct .tbl.cards td { height: auto; padding: 2px 0; box-shadow: none; display: flex; justify-content: space-between; gap: var(--ds-s-3); text-align: right; }
  .acct .tbl.cards td::before { content: attr(data-l); color: var(--ds-ink-3); text-align: left; flex: none; }
  .acct .tbl.cards td:not([data-l])::before { content: none; }
  .acct .tbl.cards td:not([data-l]) { justify-content: flex-start; text-align: left; }
  .acct .note { flex-wrap: wrap; }
  .acct .note .acts { width: 100%; margin-left: 0; }
  .acct .note .acts .btn { flex: 1; height: 44px; }
  .acct .sheet { width: 100%; }
  .acct .sheet-h { padding: var(--ds-s-4); }
  .acct .sheet-h h2 { font-size: var(--ds-text-p-d2); line-height: var(--ds-lh-p-d2); }
  .acct .sheet-b { padding: var(--ds-s-4); }
  .acct .sheet-f { padding: var(--ds-s-3) var(--ds-s-4) calc(var(--ds-s-3) + env(safe-area-inset-bottom)); flex-wrap: wrap; }
  .acct .sheet-f .cap { width: 100%; }
  .acct .sheet-f .btn { height: var(--ds-touch-primary); flex: 1; font-size: var(--ds-text-p-body); }
  .acct .arow .btn { height: 40px; }
  .acct .mnu-list { position: fixed; left: var(--ds-s-4); right: var(--ds-s-4); top: auto; bottom: var(--ds-s-4); }
  .acct .mnu-i { padding: 12px; }
}

/* ======================================================== screen section: 10-inv-list */
.acct .il-grid { overflow-x: auto; }
.acct .il-cols { grid-template-columns: var(--ds-s-4) minmax(0, 1.2fr) minmax(0, 1fr) var(--ds-acct-il-site, ) minmax(0, .7fr) minmax(0, .7fr) minmax(0, 1fr) minmax(0, 1fr) var(--ds-acct-il-qb, ) var(--ds-acct-il-check, ) calc(var(--ds-s-10) * 4); gap: var(--ds-s-2); padding-left: var(--ds-s-3); padding-right: var(--ds-s-3); }
.acct .il-other-cols { --ds-acct-il-site: minmax(0, 1.3fr); }
.acct .il-has-qb { --ds-acct-il-qb: minmax(0, 1fr); }
.acct .il-has-check { --ds-acct-il-check: minmax(0, 1fr); }
.acct .il-row { font-size: var(--ds-text-sm); }
.acct .il-row .st { white-space: normal; }
.acct .il-row .mnu-list { white-space: nowrap; }
.acct .il-grid:has(.mnu[open]) { overflow: visible; }
.acct .il-group-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--ds-s-3); padding: var(--ds-s-3); }
.acct .il-group-name { display: flex; align-items: center; flex-wrap: wrap; gap: var(--ds-s-2); }
.acct .il-group-meta, .acct .il-group-aging { color: var(--ds-ink-3); font-size: var(--ds-text-sm); line-height: var(--ds-lh-sm); }
.acct .il-group-meta { grid-column: 1; }
.acct .il-group-aging { grid-column: 1; display: flex; flex-wrap: wrap; align-items: center; gap: var(--ds-s-2); margin-top: var(--ds-s-1); }
.acct .il-group-aging:empty { display: none; }
.acct .il-group-balance { grid-column: 2; grid-row: 1; text-align: right; }
.acct .il-site-actions { grid-column: 2; grid-row: 2 / 4; align-self: end; }
.acct .il-other-head { padding: var(--ds-s-3); margin: 0; font-size: var(--ds-text-md); font-weight: var(--ds-w-semi); }
.acct .il-single-head, .acct .il-phone-site, .acct .il-phone-label { display: none; }
.acct .il-difference { color: var(--ds-ink-3); font-size: var(--ds-text-sm); line-height: var(--ds-lh-sm); }
.acct .il-row-actions { align-items: center; }
.acct .il-row-actions .btn { padding-left: var(--ds-s-2); padding-right: var(--ds-s-2); font-size: var(--ds-text-sm); }
.acct .il-selection { display: flex; align-items: center; flex-wrap: wrap; gap: var(--ds-s-2); width: 100%; }
.acct .il-panel-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--ds-s-2); margin-top: var(--ds-s-4); }
.acct .il-frame > .lpanel .rs { padding: var(--ds-s-5); box-shadow: inset 0 -1px 0 var(--ds-line); }
.acct .il-frame > .lpanel .rs-h { flex-wrap: wrap; }
.acct .il-row:focus-visible { outline: var(--ds-focus-w) solid var(--ds-focus); outline-offset: calc(0px - var(--ds-focus-w)); }
@media (min-width: 760px) and (max-width: 1099px) {
  .acct .il-cols { min-width: calc(var(--ds-page-min) - var(--ds-s-12)); }
}
@media screen and (max-width: 759px) {
  .acct .il-frame { display: block; }
  .acct .il-frame > .lpanel { display: none; }
  .acct .il-frame .toolbar .tb-r { flex-wrap: wrap; }
  .acct .il-frame .chip { min-height: var(--ds-touch-h); }
  .acct .il-grid { background: transparent; overflow: visible; box-shadow: none; border-radius: 0; }
  .acct .il-grid .qhead { display: none; }
  .acct .il-site { background: var(--ds-surface); border-radius: var(--ds-r-lg); box-shadow: 0 0 0 1px var(--ds-line); margin-top: var(--ds-s-3); }
  .acct .il-group-head { border-radius: var(--ds-r-lg) var(--ds-r-lg) 0 0; }
  .acct .il-group-name { font-size: var(--ds-text-p-body); }
  .acct .il-group-meta { overflow-wrap: anywhere; }
  .acct .il-group-balance { grid-row: auto; align-self: end; font-size: var(--ds-text-p-meta); }
  .acct .il-group-aging { grid-column: 1 / -1; line-height: var(--ds-lh-p-meta); }
  .acct .il-site-actions { display: none; }
  .acct .il-single-head { display: block; }
  .acct .il-other-head { background: transparent; box-shadow: none; padding: var(--ds-s-4) 0 0; }
  .acct .il-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--ds-s-2); padding: var(--ds-s-3); border-radius: var(--ds-r-lg); cursor: pointer; }
  .acct .il-row > * { min-width: 0; }
  .acct .il-row .il-status { grid-column: 1 / -1; grid-row: 1; }
  .acct .il-row .il-status .st { color: var(--ds-ink-2); }
  .acct .il-row .il-status .route { background: transparent; color: var(--ds-ink-3); }
  .acct .il-row .il-status .site { background: var(--ds-st-site-bg); color: var(--ds-st-site-ink); }
  .acct .il-invoice { grid-row: 2; }
  .acct .il-row-site { display: flex; grid-column: 1 / -1; }
  .acct .il-row-site .a, .acct .il-row-site .b { white-space: normal; overflow-wrap: anywhere; }
  .acct .il-row .il-issued { display: none; }
  .acct .il-due { grid-column: 1 / -1; font-size: var(--ds-text-p-meta); color: var(--ds-ink-3); }
  .acct .il-amount { grid-column: 2; grid-row: 2; font-size: var(--ds-text-p-body); }
  .acct .il-amount .il-phone-label { display: none; }
  .acct .il-balance { grid-column: 1 / -1; text-align: left; font-size: var(--ds-text-p-meta); }
  .acct .il-qb, .acct .il-check { grid-column: 1 / -1; }
  .acct .il-check:empty { display: none; }
  .acct .il-phone-label { display: inline; }
  .acct .il-row-actions { grid-column: 1 / -1; opacity: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: var(--ds-s-2); }
  .acct .il-row-actions .btn { min-height: var(--ds-touch-h); width: 100%; white-space: normal; justify-content: center; }
  .acct .il-row .il-pick { grid-column: 2; grid-row: 1; justify-self: end; z-index: 1; }
  .acct .il-pick .ck { min-height: var(--ds-touch-h); min-width: var(--ds-touch-h); justify-content: center; }
  .acct .il-selection .btn { min-height: var(--ds-touch-h); flex: 1; justify-content: center; }
  .acct .il-frame .qfoot { overflow-wrap: anywhere; }
}

/* ======================================================== screen section: 20-history-deposits */
/* Direction D history sheet and deposit rail; shared components stay in accounting.css. */
.acct .ih-cols { grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
.acct .ih-row { min-height: calc(var(--ds-s-12) + var(--ds-s-2)); padding-top: var(--ds-s-2); padding-bottom: var(--ds-s-2); box-shadow: inset 0 calc(var(--ds-s-1) / -4) 0 var(--ds-rule); }
.acct .ih-row[role="link"] { cursor: pointer; }
.acct .ih-row[role="link"]:hover { background: var(--ds-paper-hover); }
.acct .ih-value { font-size: var(--ds-text-sm); overflow-wrap: anywhere; }
.acct .ih-group { display: flex; align-items: center; justify-content: space-between; gap: var(--ds-s-4); padding: var(--ds-s-3) var(--ds-s-4); }
.acct .ih-group h2 { font-size: var(--ds-text-base); line-height: var(--ds-lh-base); font-weight: var(--ds-w-semi); }
.acct .ih-group b { font-weight: var(--ds-w-semi); white-space: nowrap; }
.acct .ih-totals { margin-bottom: var(--ds-s-4); padding: var(--ds-s-3) var(--ds-s-4); background: var(--ds-surface); border-radius: var(--ds-r-lg); box-shadow: inset 0 0 0 calc(var(--ds-s-1) / 4) var(--ds-line); }
.acct .ih-totals .facts { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--ds-s-4); }
.acct .ih-dates { margin-bottom: var(--ds-s-4); max-width: calc(var(--ds-s-12) * 10); }
.acct .dp-fields { margin-top: var(--ds-s-5); }
.acct .dp-submit { display: grid; gap: var(--ds-s-2); margin-top: var(--ds-s-5); }
.acct .dp-submit .btn { width: 100%; }
.acct .dp-select-all { padding: var(--ds-s-3) var(--ds-s-6); }
.acct .dp-page .tblwrap { overflow-x: auto; }
.acct .dp-page .tbl td { overflow-wrap: anywhere; }
@media (min-width: 760px) and (max-width: 1399px) {
  .acct .ih-sheet { overflow-x: auto; }
  .acct .ih-cols { min-width: calc(var(--ds-s-12) * 24); }
}
@media screen and (max-width: 759px) {
  .acct .ih-page .toolbar .chip, .acct .dp-page .toolbar .chip { min-height: var(--ds-touch-h); }
  .acct .ih-page .toolbar > .chips { min-width: 0; }
  .acct .ih-totals .facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .acct .ih-sheet { background: transparent; box-shadow: none; overflow: visible; }
  .acct .ih-site-group { margin-top: var(--ds-s-3); background: var(--ds-surface); border-radius: var(--ds-r-lg); box-shadow: 0 0 0 calc(var(--ds-s-1) / 4) var(--ds-line); overflow: hidden; }
  .acct .ih-group { padding: var(--ds-s-3); }
  .acct .ih-group h2 { font-size: var(--ds-text-p-body); }
  .acct .ih-group .meta { overflow-wrap: anywhere; }
  .acct .ih-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--ds-s-2); padding: var(--ds-s-3); }
  .acct .ih-row > .st { grid-column: 1 / -1; }
  .acct .ih-row > .c2:nth-child(2) { grid-column: 1; grid-row: 2; }
  .acct .ih-row .idn { font-size: var(--ds-text-p-body); }
  .acct .ih-row .ih-site { grid-column: 1 / -1; }
  .acct .ih-row .ih-site:empty { display: none; }
  .acct .ih-row .ih-value { display: flex; flex-direction: column; text-align: left; font-size: var(--ds-text-p-meta); }
  .acct .ih-row .ih-value::before { content: attr(data-l); color: var(--ds-ink-3); font-size: var(--ds-text-sm); }
  .acct .ih-row .ih-value[data-l="Amount"] { grid-column: 2; grid-row: 2; align-items: flex-end; font-size: var(--ds-text-p-body); font-weight: var(--ds-w-semi); }
  .acct .ih-row .ih-value[data-l="Amount"]::before { content: none; }
  .acct .ih-row .c2 .a, .acct .ih-row .c2 .b, .acct .dp-page .c2 .a, .acct .dp-page .c2 .b { white-space: normal; overflow-wrap: anywhere; }
  .acct .ih-page .qfoot .btn, .acct .ih-page .errbox .btn, .acct .dp-page .errbox .btn { min-height: var(--ds-touch-h); width: 100%; }
  .acct .ih-page .errbox, .acct .dp-page .errbox { flex-wrap: wrap; }
  .acct .dp-page .tblwrap { overflow: visible; }
  .acct .dp-page .tbl.cards td > * { min-width: 0; }
  .acct .dp-page .ck { min-height: var(--ds-touch-h); }
  .acct .dp-submit .btn { min-height: var(--ds-touch-primary); white-space: normal; }
}

/* ======================================================== screen section: 30-inv-detail-job */
.acct .id-head { margin-bottom: var(--ds-s-5); }
.acct .id-lead { display: flex; justify-content: space-between; align-items: center; gap: var(--ds-s-6); }
.acct .id-figs { min-width: 0; }
.acct .id-figs .facts { gap: var(--ds-s-6); }
.acct .id-figs .v { white-space: nowrap; }
.acct .id-taxbasis { display: block; }
.acct .id-ledger-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--ds-s-3); padding: var(--ds-s-3) 0; }
.acct .id-ledger-row.on { background: var(--ds-tint); box-shadow: inset var(--ds-s-1) 0 0 var(--ds-ink); }
.acct .id-ledger-row .ulink { padding-left: var(--ds-s-2); }
.acct .id-payment + .id-payment { margin-top: var(--ds-s-4); }
.acct .id-tie th:first-child, .acct .id-tie td:first-child { padding-left: 0; }
.acct .id-tie th:last-child, .acct .id-tie td:last-child { padding-right: 0; }
.acct .id-tie th, .acct .id-tie td { padding-left: var(--ds-s-1); padding-right: var(--ds-s-1); font-size: var(--ds-text-sm); }
.acct .jb-stage-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ds-s-4); }
.acct .jb-stage-edit { grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)) auto; align-items: end; margin-top: var(--ds-s-4); }
.acct .jb-actions { display: flex; flex-wrap: wrap; gap: var(--ds-s-2); margin-top: var(--ds-s-4); }
@media screen and (max-width: 759px) {
  .acct .id-head .titlebar .acts { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .acct .id-head .acts .btn, .acct .jb-actions .btn { width: 100%; min-height: var(--ds-touch-h); white-space: normal; height: auto; }
  .acct .id-head .mnu { min-width: 0; }
  .acct .id-head .mnu-list { min-width: 0; width: max-content; max-width: calc(100vw - var(--ds-s-8)); }
  .acct .id-head .mnu-i { min-height: var(--ds-touch-h); white-space: normal; }
  .acct .id-actions::after { content: ""; position: fixed; bottom: 0; left: 0; right: 0; height: calc(var(--ds-touch-primary) + var(--ds-s-6) + env(safe-area-inset-bottom)); background: var(--ds-surface); box-shadow: var(--ds-e-bar); z-index: 10; }
  .acct .id-head .acts .id-followup, .acct .id-head .acts .id-payment-action { position: fixed; bottom: calc(var(--ds-s-3) + env(safe-area-inset-bottom)); z-index: 11; height: var(--ds-touch-primary); }
  .acct .id-head .acts .id-followup { left: var(--ds-s-4); width: calc(100% - var(--ds-s-8)); }
  .acct .id-head .id-payable .id-followup { width: calc(50% - var(--ds-s-5)); }
  .acct .id-head .acts .id-payment-action { right: var(--ds-s-4); width: calc(50% - var(--ds-s-5)); }
  .acct .id-lead { flex-direction: column; align-items: stretch; gap: var(--ds-s-4); }
  .acct .id-figs .facts { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ds-s-2); }
  .acct .id-figs .v { white-space: normal; }
  .acct .id-ledger-row { gap: var(--ds-s-2); }
  .acct .id-ledger-row .ulink, .acct .jb-invoice { min-height: var(--ds-touch-h); }
  .acct .id-ledger-row .money { font-size: var(--ds-text-p-meta); }
  .acct .id-lines .id-description { font-weight: var(--ds-w-medium); }
  .acct .jb-stage-fields { grid-template-columns: minmax(0, 1fr); }
  .acct .jb-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
}

/* ======================================================== screen section: 40-inv-editor */
.acct .ie-editor { min-width: 0; }
.acct .ie-flag { display: flex; align-items: flex-start; gap: 6px; font-weight: var(--ds-w-medium); color: var(--ds-ink-2); }
.acct .ie-flag + .ie-flag { margin-top: 4px; }
.acct .ie-flag .ico { width: 14px; height: 14px; flex: none; margin-top: 1px; color: var(--ds-ink-3); }
.acct .ie-flag .ulink { font-weight: var(--ds-w-medium); }
.acct .ie-wait { display: flex; align-items: center; justify-content: space-between; gap: var(--ds-s-3); padding: var(--ds-s-4) var(--ds-s-6); box-shadow: inset 0 -1px 0 var(--ds-line); font-size: var(--ds-text-base); line-height: 20px; color: var(--ds-ink-2); }
.acct .ie-site { min-width: 0; }
.acct .ie-results { display: grid; padding: var(--ds-s-1); background: var(--ds-surface); border-radius: var(--ds-r-md); box-shadow: var(--ds-e-secondary); }
.acct .ie-results .btn { justify-content: flex-start; white-space: normal; text-align: left; }
.acct .ie-search-state { padding: var(--ds-s-2) 0; color: var(--ds-ink-3); font-size: var(--ds-text-sm); }
.acct .ie-lines { table-layout: fixed; }
.acct .ie-lines .ie-code { width: calc(var(--ds-s-10) * 6); position: relative; }
.acct .ie-lines td { vertical-align: top; }
.acct .ie-editor .tblwrap { overflow: visible; }
.acct .ie-code-box { display: flex; align-items: center; gap: var(--ds-s-1); min-width: 0; }
.acct .ie-code-box input.cell { flex: 1; min-width: 0; }
.acct .ie-code-box .btn.sq { flex: none; }
.acct .ie-item-options { position: absolute; top: calc(var(--ds-control-h) + var(--ds-s-3)); left: var(--ds-s-3); z-index: 10; width: max(100%, calc(var(--ds-s-10) * 8)); max-height: calc(var(--ds-s-10) * 7); overflow-y: auto; padding: var(--ds-s-1); background: var(--ds-surface); box-shadow: var(--ds-e-pop); border-radius: var(--ds-r-md); }
.acct .ie-item-options button[role="option"] { display: block; width: 100%; min-height: var(--ds-control-h); padding: var(--ds-s-2) var(--ds-s-3); text-align: left; white-space: normal; overflow-wrap: anywhere; border-radius: var(--ds-r-md); }
.acct .ie-item-options button[role="option"]:hover, .acct .ie-item-options button[role="option"]:focus { background: var(--ds-paper-hover); }
.acct .ie-item-options button[aria-selected="true"] { font-weight: var(--ds-w-semi); }
.acct .ie-item-options .ie-search-state { padding: var(--ds-s-2) var(--ds-s-3); }
.acct .ie-item-options .ie-items-more { width: 100%; justify-content: flex-start; }
.acct .tbl textarea.cell { display: block; width: 100%; min-height: var(--ds-control-h); border: 0; border-radius: var(--ds-r-md); padding: 6px var(--ds-s-2); box-shadow: inset 0 0 0 1px var(--ds-field); font: inherit; line-height: 20px; color: var(--ds-ink); background: var(--ds-surface); resize: vertical; field-sizing: content; overflow-wrap: anywhere; }
.acct .ie-lines .ie-qty { width: 76px; }
.acct .ie-lines .ie-rate { width: 112px; }
.acct .ie-lines .ie-tax { width: 84px; }
.acct .ie-lines .ie-amount { width: 112px; }
.acct .ie-lines .ie-remove { width: 44px; }
.acct .ie-lines .ie-amount b { font-weight: var(--ds-w-regular); }
.acct .ie-lines .ie-label { display: none; }
.acct .ie-lines .ie-cell { display: block; min-width: 0; }
.acct .ie-lines .ie-tax .ck { justify-content: center; }
.acct .ie-lines .ie-tax .ck span { display: none; }
@media screen and (max-width: 759px) {
  .acct .ie-editor .ie-actions { position: fixed; inset: auto 0 0; z-index: 20; width: auto; padding: var(--ds-s-3) var(--ds-s-4); background: var(--ds-surface); box-shadow: var(--ds-e-bar); flex-wrap: nowrap; }
  .acct .ie-editor .ie-actions .btn { min-height: var(--ds-touch-primary); flex: 1; }
  .acct .ie-editor .ie-actions .btn.primary { order: 0; flex: 2; }
  .acct .ie-lines thead { display: none; }
  .acct .ie-lines colgroup { display: none; }
  .acct .ie-lines, .acct .ie-lines tbody { display: block; width: 100%; }
  .acct .ie-lines tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: var(--ds-s-2) var(--ds-s-3); padding: var(--ds-s-3) var(--ds-s-4); box-shadow: inset 0 var(--ds-s-1) 0 var(--ds-canvas); }
  .acct .ie-lines td { display: block; width: auto; height: auto; min-width: 0; padding: 0; box-shadow: none; }
  .acct .ie-lines td:first-child, .acct .ie-lines td:last-child { padding: 0; }
  .acct .ie-lines .ie-label { display: block; text-align: left; font-size: var(--ds-text-sm); color: var(--ds-ink-3); margin-bottom: var(--ds-s-1); }
  .acct .ie-lines input.cell { height: var(--ds-touch-primary); font-size: var(--ds-text-p-body); }
  .acct .ie-lines textarea.cell { min-height: var(--ds-touch-primary); font-size: var(--ds-text-p-body); }
  .acct .ie-lines .ie-code-box .btn.sq { min-height: var(--ds-touch-primary); min-width: var(--ds-touch-primary); }
  .acct .ie-item-options { left: 0; top: calc(var(--ds-touch-primary) + var(--ds-s-6)); width: 100%; }
  .acct .ie-item-options button[role="option"] { min-height: var(--ds-touch-h); }
  .acct .ie-lines .ie-code { grid-column: 1 / 3; grid-row: 1; }
  .acct .ie-lines .ie-remove { grid-column: 3; grid-row: 1; align-self: end; }
  .acct .ie-lines .ie-remove .btn { min-height: var(--ds-touch-primary); }
  .acct .ie-lines .ie-description { grid-column: 1 / -1; }
  .acct .ie-lines .empty-line { grid-column: 1 / -1; }
  .acct .ie-lines .ie-description textarea { font-weight: var(--ds-w-medium); }
  .acct .ie-lines .ie-tax .ck { min-height: var(--ds-touch-primary); }
  .acct .ie-lines .ie-tax .ck span { display: block; }
  .acct .ie-lines .ie-amount { grid-column: 1 / -1; display: flex; justify-content: space-between; font-size: var(--ds-text-p-meta); }
  .acct .ie-lines .ie-amount b { font-weight: var(--ds-w-semi); }
  .acct .ie-editor .addrow .btn, .acct .ie-results .btn { width: 100%; min-height: var(--ds-touch-primary); }
  .acct .ie-editor .full .ck { min-height: var(--ds-touch-primary); }
}

/* ======================================================== screen section: 50-inv-sheets */
.acct .fu-fields { display: grid; gap: var(--ds-s-4); min-width: 0; }
.acct .fu-section { min-width: 0; }
.acct .fu-section h3 { margin-bottom: var(--ds-s-2); font-size: var(--ds-text-sm); line-height: var(--ds-lh-sm); font-weight: var(--ds-w-medium); color: var(--ds-ink-3); }
.acct .fu-two { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ds-s-4); }
.acct .fu-contacts { display: flex; flex-wrap: wrap; gap: var(--ds-s-2); margin-top: var(--ds-s-2); }
.acct .fu-fields .field { max-width: none; }
.acct .fu-subject textarea { resize: vertical; min-height: 0; }
.acct .fu-contacts:empty { display: none; }
.acct .fu-contact { max-width: 100%; white-space: normal; text-align: left; overflow-wrap: anywhere; height: auto; }
.acct .fu-attachments { display: grid; gap: var(--ds-s-3); }
.acct .fu-attachment-row { display: flex; align-items: center; gap: var(--ds-s-3); }
.acct .fu-invpick { border: thin solid var(--ds-line); border-radius: var(--ds-r-md); }
.acct .fu-invpick label { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--ds-s-2); align-items: center; padding: var(--ds-s-3); margin: 0; border-bottom: thin solid var(--ds-line); color: var(--ds-ink); }
.acct .fu-invpick label:last-child { border-bottom: 0; }
.acct .fu-invpick input { width: var(--ds-s-4); height: var(--ds-s-4); min-height: 0; padding: 0; box-shadow: none; accent-color: var(--ds-selection); }
.acct .fu-invpick .meta, .acct .pm-row .meta { display: block; font-size: var(--ds-text-sm); color: var(--ds-ink-3); }
.acct .fu-stepper { display: inline-flex; align-items: center; gap: var(--ds-s-2); margin-bottom: var(--ds-s-2); margin-right: var(--ds-s-3); }
.acct .fu-history { display: grid; gap: var(--ds-s-4); margin-top: var(--ds-s-3); }
.acct .fu-email { min-width: 0; overflow-wrap: anywhere; }
.acct .fu-replies { margin-top: var(--ds-s-3); margin-left: var(--ds-s-4); padding-left: var(--ds-s-3); border-left: thin solid var(--ds-line); }
.acct .pm-amount input { font-size: var(--ds-text-md); font-weight: var(--ds-w-semi); }
.acct .pm-apply { border: thin solid var(--ds-line); border-radius: var(--ds-r-md); overflow: hidden; }
.acct .pm-row { display: grid; grid-template-columns: minmax(0, 1fr) calc(var(--ds-s-12) * 2) calc(var(--ds-s-10) * 3); gap: var(--ds-s-3); align-items: center; padding: var(--ds-s-3); border-bottom: thin solid var(--ds-line); }
.acct .pm-row > :first-child { overflow-wrap: anywhere; }
.acct .pm-row .field label { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
.acct .pm-row input, .acct .pm-balance { text-align: right; font-variant-numeric: var(--ds-nums); }
.acct .pm-edit-row { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
.acct .pm-line-fields { display: grid; gap: var(--ds-s-2); }
.acct .pm-line-fields .field label { position: static; width: auto; height: auto; padding: 0; overflow: visible; clip-path: none; }
.acct .pm-line-fields .field { min-width: 0; }
.acct .pm-head { font-size: var(--ds-text-caps); text-transform: uppercase; color: var(--ds-ink-3); }
.acct .pm-head > :nth-child(n+2) { text-align: right; }
.acct .pm-sum { padding: var(--ds-s-3); font-size: var(--ds-text-base); font-variant-numeric: var(--ds-nums); }
.acct .pm-suggestion, .acct .cm-line { padding: var(--ds-s-3); border: thin solid var(--ds-line); border-radius: var(--ds-r-md); }
.acct .pm-suggestion + .pm-suggestion { margin-top: var(--ds-s-3); }
.acct .pm-suggestion .btn { margin-top: var(--ds-s-2); }
.acct .cm-lines { display: grid; gap: var(--ds-s-3); }
.acct .cm-line > .ck { margin-bottom: var(--ds-s-3); }
@media screen and (max-width: 759px) {
  .acct .fu-two { grid-template-columns: minmax(0, 1fr); }
  .acct .fu-fields .seg2 { display: flex; }
  .acct .fu-fields .seg2 button { min-height: var(--ds-touch-h); flex: 1; }
  .acct .fu-contacts .btn, .acct .pm-suggestion .btn, .acct .fu-fields > .btn { width: 100%; min-height: var(--ds-touch-h); }
  .acct .fu-attachments .ck, .acct .fu-invpick label { min-height: var(--ds-touch-h); }
  .acct .fu-attachment-row .ulink, .acct .fu-stepper .btn { min-height: var(--ds-touch-h); min-width: var(--ds-touch-h); }
  .acct .pm-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .acct .pm-head { display: none; }
  .acct .pm-row > :first-child { grid-column: 1 / -1; }
  .acct .fu-responsive thead { display: none; }
  .acct .fu-responsive, .acct .fu-responsive tbody, .acct .fu-responsive tr { display: block; width: 100%; }
  .acct .fu-responsive td { display: flex; justify-content: space-between; gap: var(--ds-s-3); white-space: normal; overflow-wrap: anywhere; }
  .acct .fu-responsive td::before { content: attr(data-l); color: var(--ds-ink-3); }
}

/* ======================================================== screen section: 60-recon */
.acct .rc-head { padding: var(--ds-s-5) var(--ds-gutter) 0; }
.acct .rc-head .phead .sumline { order: 3; width: 100%; margin-top: var(--ds-s-2); }
.acct .rc-screen .dp-main { padding: 0 var(--ds-gutter) var(--ds-s-8); }
.acct .rc-screen .dp-main:only-child { grid-column: 1 / -1; }
.acct .rc-screen .h3 { font-size: var(--ds-text-md); line-height: var(--ds-lh-md); font-weight: var(--ds-w-semi); }
.acct .rc-allclear { color: var(--ds-ink-3); font-size: var(--ds-text-sm); line-height: var(--ds-lh-sm); }
.acct .rc-detail { color: var(--ds-ink-3); font-size: var(--ds-text-sm); line-height: var(--ds-lh-sm); }
.acct .rc-table td.rc-fix { min-width: calc(var(--ds-s-12) * 3); }
.acct .rc-reference { gap: var(--ds-s-3); }
.acct .rc-warning { color: var(--ds-ink-3); font-size: var(--ds-text-sm); line-height: var(--ds-lh-sm); }
.acct .rc-warning .ico { width: var(--ds-glyph); height: var(--ds-glyph); color: var(--ds-ink-3); vertical-align: middle; }
.acct .rc-table { background: var(--ds-surface); }
.acct .rc-table td { padding-top: var(--ds-s-3); padding-bottom: var(--ds-s-3); }
.acct .rc-table .rc-checkbox { padding-left: var(--ds-s-3); padding-right: 0; }
.acct .rc-checkbox .ck span { position: absolute; clip-path: inset(100%); width: 0; height: 0; overflow: hidden; }
.acct .rc-selected { background: var(--ds-tint); box-shadow: inset var(--ds-s-1) 0 0 var(--ds-selection); }
.acct .rc-exception { min-width: calc(var(--ds-s-12) * 4); }
.acct .rc-exception .ulink { text-align: left; white-space: normal; }
.acct .rc-fix .btn { width: 100%; height: auto; min-height: var(--ds-control-h); white-space: normal; padding: var(--ds-s-2); font-size: var(--ds-text-sm); }
.acct .rc-screen .rs-h { flex-wrap: wrap; }
.acct .rc-sumcard { margin-top: var(--ds-s-3); padding: var(--ds-s-3); border-radius: var(--ds-r-lg); background: var(--ds-canvas); box-shadow: var(--ds-e-secondary); overflow-x: auto; }
.acct .rc-tie { width: 100%; border-collapse: collapse; font-size: var(--ds-text-sm); line-height: var(--ds-lh-sm); }
.acct .rc-tie th, .acct .rc-tie td { text-align: right; padding: var(--ds-s-2) 0; white-space: nowrap; }
.acct .rc-tie th:first-child { text-align: left; white-space: normal; }
.acct .rc-tie thead th { color: var(--ds-ink-3); font-weight: var(--ds-w-medium); }
.acct .rc-tie tbody th { font-weight: var(--ds-w-regular); }
.acct .rc-tie tbody tr { border-top: var(--ds-rule-hair) solid var(--ds-line); }
.acct .rc-tie tbody tr:last-child { font-weight: var(--ds-w-semi); }
.acct .rc-tie tbody tr:last-child th { font-weight: var(--ds-w-semi); }
.acct .rc-tie tbody tr:nth-child(2) td:last-child { color: var(--ds-ink-3); }
.acct .rc-caption { position: absolute; clip-path: inset(100%); width: 0; height: 0; overflow: hidden; }
.acct .rc-tie-line, .acct .rc-reasons { margin: var(--ds-s-4) 0; color: var(--ds-ink-2); }
.acct .rc-panel-actions { display: grid; gap: var(--ds-s-2); }
.acct .rc-panel-actions .btn { width: 100%; white-space: normal; height: auto; min-height: var(--ds-control-h); padding: var(--ds-s-2); font-size: var(--ds-text-sm); }
.acct .rc-candidate { display: grid; gap: var(--ds-s-2); padding: var(--ds-s-3); margin-top: var(--ds-s-3); border: var(--ds-rule-hair) solid var(--ds-line); border-radius: var(--ds-r-lg); }
.acct .rc-candidate .rc-reasons { margin: 0; }
.acct .rc-screen .field textarea { min-height: var(--ds-actionbar-h); }
.acct .rc-screen .field + .btn { margin-top: var(--ds-s-2); }
.acct .rc-inline { padding: var(--ds-s-4); background: var(--ds-surface); border-radius: var(--ds-r-lg); }
.acct .me-strip { display: flex; gap: var(--ds-s-2); overflow-x: auto; padding: var(--ds-s-4) 0; }
.acct .me-strip .chip { flex: none; height: auto; min-height: var(--ds-touch-h); gap: var(--ds-s-2); }
.acct .me-proof { font-size: var(--ds-text-md); line-height: var(--ds-lh-md); font-weight: var(--ds-w-semi); margin-bottom: var(--ds-s-4); }
.acct .me-writeoffs { margin-bottom: var(--ds-s-4); }
.acct .me-form { margin-top: var(--ds-s-4); }
@media screen and (max-width: 759px) {
  .acct .rc-head { padding: var(--ds-s-4) var(--ds-s-4) 0; }
  .acct .rc-screen .phead .acts { position: static; width: 100%; padding: 0; box-shadow: none; background: transparent; flex-wrap: wrap; }
  .acct .rc-screen .phead .acts .btn { flex: 1 1 100%; }
  .acct .rc-screen .dp-main { padding: 0 var(--ds-s-4) var(--ds-s-6); }
  .acct .rc-screen .btn { width: 100%; min-height: var(--ds-touch-h); height: auto; padding: var(--ds-s-2); white-space: normal; }
  .acct .rc-screen .chip { min-height: var(--ds-touch-h); }
  .acct .rc-screen .utabs { max-width: 100%; overflow-x: auto; }
  .acct .rc-allclear { font-size: var(--ds-text-p-meta); line-height: var(--ds-lh-p-meta); }
  .acct .rc-table tr { margin-bottom: var(--ds-s-3); border-radius: var(--ds-r-lg); background: var(--ds-surface); }
  .acct .rc-screen .sheetx { background: transparent; box-shadow: none; overflow: visible; }
  .acct .rc-table .rc-checkbox { padding: 0; }
  .acct .rc-table .rc-checkbox .ck { min-height: var(--ds-touch-h); }
  .acct .rc-table .rc-exception { display: block; min-width: 0; overflow-wrap: anywhere; }
  .acct .rc-table .rc-fix { display: block; }
  .acct .rc-table .rc-fix::before { display: none; }
  .acct .rc-screen .rc-table .rc-fix .btn { font-size: var(--ds-text-p-meta); }
  .acct .rc-screen .rc-panel-actions .btn { font-size: var(--ds-text-p-meta); }
  .acct .rc-screen .tblwrap { overflow: visible; }
  .acct .rc-sumcard { padding: var(--ds-s-2); }
  .acct .rc-tie { font-size: var(--ds-text-sm); }
  .acct .rc-tie th, .acct .rc-tie td { white-space: normal; overflow-wrap: anywhere; }
  .acct .me-strip { max-width: 100%; }
}

/* ======================================================== screen section: 70-po-list-detail */
/* Supplier sheets and the purchase order lead use the shared Accounting components. */
.acct .pl-summary-extra { color: var(--ds-ink-3); }
.acct .pl-sheet { background: var(--ds-surface); border-radius: var(--ds-r-lg); box-shadow: 0 0 0 1px var(--ds-line); min-width: 0; }
.acct .pl-table .pl-group-row > td { padding: 0; }
.acct .pl-group { display: flex; align-items: center; flex-wrap: wrap; gap: var(--ds-s-3); padding: var(--ds-s-4); background: var(--ds-wash); box-shadow: inset 0 1px 0 var(--ds-line), inset 0 -1px 0 var(--ds-line); }
.acct .pl-group-name { font-weight: var(--ds-w-semi); overflow-wrap: anywhere; }
.acct .pl-group-money { margin-left: auto; text-align: right; }
.acct .pl-links { display: flex; align-items: center; flex-wrap: wrap; gap: var(--ds-s-2); }
.acct .pl-links:empty { display: none; }
.acct .pl-facts { display: grid; gap: var(--ds-s-1); font-size: var(--ds-text-sm); color: var(--ds-ink-3); }
.acct .pl-table { table-layout: auto; }
.acct .pl-table td { height: var(--ds-row-h); overflow-wrap: anywhere; }
.acct .pl-table .meta { display: block; }
.acct .pl-table .pl-menu { padding-left: 0; padding-right: var(--ds-s-2); text-align: right; }
.acct .pl-table .pl-meter .meta { margin-top: var(--ds-s-1); }
.acct .pl-table .pl-meter .pbar { height: var(--ds-s-1); }
.acct .pl-table .st { white-space: normal; }
.acct .pl-table .pill { white-space: normal; height: auto; min-height: var(--ds-pill-h); }
.acct .pd-lead { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); align-items: center; gap: var(--ds-s-8); padding: var(--ds-s-5) var(--ds-s-6); }
.acct .pd-footer-actions { display: flex; align-items: center; gap: var(--ds-s-2); }
.acct .pd-email-preview { margin: var(--ds-s-3) 0; padding: var(--ds-s-3); border-radius: var(--ds-r-md); box-shadow: inset 0 0 0 1px var(--ds-line); white-space: pre-wrap; overflow-wrap: anywhere; font-size: var(--ds-text-sm); color: var(--ds-ink-2); }
.acct .pd-asks { margin: 0; padding-left: var(--ds-s-4); }
.acct .pd-asks li + li { margin-top: var(--ds-s-2); }
.acct .pd-progress { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; gap: var(--ds-s-2) var(--ds-s-4); align-items: center; min-width: 0; }
.acct .pd-progress .pbar { height: var(--ds-s-1); }
.acct .pd-progress-label { color: var(--ds-ink-2); }
.acct .pd-percent { font-size: var(--ds-text-sm); color: var(--ds-ink-3); text-align: right; }
.acct .pd-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--ds-s-4); padding: var(--ds-s-4) var(--ds-s-6); box-shadow: inset 0 1px 0 var(--ds-line); }
.acct .pd-step-label { font-weight: var(--ds-w-medium); margin-bottom: var(--ds-s-1); }
.acct .pd-order { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--ds-s-1) var(--ds-s-3); padding: var(--ds-s-3) 0; box-shadow: inset 0 -1px 0 var(--ds-line); overflow-wrap: anywhere; }
.acct .pd-order:last-child { box-shadow: none; }
.acct .pd-order .meta { grid-column: 1 / -1; }
.acct .pd-order.sel { margin: 0 calc(-1 * var(--ds-s-5)); padding-left: var(--ds-s-5); padding-right: var(--ds-s-5); background: var(--ds-sel-bg); box-shadow: inset var(--ds-s-1) 0 0 var(--ds-selection); }
.acct .pd-order-meta .st { font-size: inherit; }
.acct .pd-lines td { overflow-wrap: anywhere; }
.acct .pr-quantity { min-width: var(--ds-s-12); }
.acct .pr-quantity .field input { width: 100%; min-width: 0; }
@media screen and (max-width: 759px) {
  .acct .pl-page .toolbar .field { width: 100%; }
  .acct .pl-page .toolbar .tb-r { flex: 1; }
  .acct .pl-page .btn { min-height: var(--ds-touch-h); }
  .acct .pl-group { align-items: start; }
  .acct .pl-group > .pl-links { order: 2; width: 100%; }
  .acct .pl-group-money { max-width: 60%; }
  .acct .pl-group-money .pill { height: auto; white-space: normal; }
  .acct .pl-sheet { background: transparent; box-shadow: none; }
  .acct .pl-table.cards .pl-section { background: var(--ds-surface); border-radius: var(--ds-r-lg); box-shadow: 0 0 0 1px var(--ds-line); margin-top: var(--ds-s-4); }
  .acct .pl-table.cards .pl-group-row { display: block; padding: 0; }
  .acct .pl-table.cards .pl-group-row > td { display: block; padding: 0; text-align: left; }
  .acct .pl-table.cards .pl-group-row .pl-group { border-radius: var(--ds-r-lg) var(--ds-r-lg) 0 0; }
  .acct .pl-table.cards tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--ds-s-2) var(--ds-s-3); padding: var(--ds-s-4); }
  .acct .pl-table.cards td { min-width: 0; height: auto; overflow-wrap: anywhere; }
  .acct .pl-table.cards .pl-status { align-items: start; }
  .acct .pl-table.cards .pl-number { display: block; text-align: right; }
  .acct .pl-table.cards .pl-supplier { grid-column: 1 / -1; display: block; text-align: left; }
  .acct .pl-table.cards .pl-supplier:not([data-l]) { display: none; }
  .acct .pl-table.cards .pl-supplier::before { display: none; }
  .acct .pl-table.cards .pl-job { grid-column: 1 / -1; display: block; text-align: left; }
  .acct .pl-table.cards .pl-job::before { display: none; }
  .acct .pl-table.cards .pl-meter { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--ds-s-1); text-align: right; }
  .acct .pl-table.cards .pl-meter .pbar { grid-column: 1 / -1; grid-row: 2; }
  .acct .pl-table.cards .pl-meter .meta { margin-top: 0; }
  .acct .pl-table.cards .pl-menu { justify-content: flex-end; }
  .acct .pd-lead { grid-template-columns: minmax(0, 1fr); gap: var(--ds-s-4); padding: var(--ds-s-4); }
  .acct .pd-footer-actions { position: fixed; left: 0; right: 0; bottom: 0; z-index: 20; padding: var(--ds-s-3) var(--ds-s-4) calc(var(--ds-s-3) + env(safe-area-inset-bottom)); background: var(--ds-surface); box-shadow: var(--ds-e-bar); }
  .acct .titlebar .pd-footer-actions .btn.primary { order: 0; flex: 1; height: var(--ds-touch-primary); }
  .acct .pd-footer-actions .mnu > summary { min-height: var(--ds-touch-primary); }
  .acct .pd-progress { grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--ds-s-2); }
  .acct .pd-percent { display: none; }
  .acct .pd-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: var(--ds-s-4); }
  .acct .pd-order.sel { margin: 0 calc(-1 * var(--ds-s-4)); padding-left: var(--ds-s-4); padding-right: var(--ds-s-4); }
  .acct .pd-lines .pn { white-space: normal; }
  .acct .pd-lines.cards tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--ds-s-1) var(--ds-s-3); }
  .acct .pd-lines.cards td { min-width: 0; }
  .acct .pd-lines.cards td:nth-child(2) { grid-column: 1; grid-row: 1; text-align: left; }
  .acct .pd-lines.cards td:nth-child(2)::before { display: none; }
  .acct .pd-lines.cards td:nth-child(6) { grid-column: 2; grid-row: 1; }
  .acct .pd-lines.cards td:nth-child(6)::before { display: none; }
  .acct .pd-lines.cards td:nth-child(1), .acct .pd-lines.cards td:nth-child(3), .acct .pd-lines.cards td:nth-child(4), .acct .pd-lines.cards td:nth-child(5) { grid-column: 1 / -1; color: var(--ds-ink-3); font-size: var(--ds-text-sm); }
  .acct .pr-lines.cards td.pr-quantity { display: block; text-align: left; }
  .acct .pr-lines.cards td.pr-quantity::before { display: none; }
  .acct .pr-lines.cards .field input { min-height: var(--ds-touch-h); }
  .acct .acct-body:has(.pd-lead) .btn, .acct .acct-body:has(.pd-lead) .mnu > summary { min-height: var(--ds-touch-h); }
}

.acct .pl-sortl { display: inline-flex; align-items: center; gap: var(--ds-s-2); }

/* ======================================================== screen section: 80-po-editor */
.acct .pe-editor { min-width: 0; overflow-wrap: anywhere; }
.acct .pe-editor .tblwrap { overflow: visible; }
/* Lines grid: # | Item | Description | Qty | Unit | Unit cost | Amount | x. Description takes what is left. The lines
   area is a size container, so the grid turns into line cards whenever the lines are narrower than 760 px (a phone,
   a tablet, or a desktop with the rail beside it), not only on a narrow screen. It sits above the totals and the
   message so an open catalogue list on the last line is never painted under them. */
.acct .pe-editor .tblwrap:has(> .pe-lines) { container: pe-lines / inline-size; position: relative; z-index: 2; }
/* An open Item result list draws above the fixed bottom action bar (z-index 20 at phone width), so a tap on a
   result low on the screen lands on the result, not on the bar (which closed the list and lost the pick). */
.acct .pe-editor .tblwrap:has(> .pe-lines):has(.pe-combo-options) { z-index: 25; }
.acct .pe-editor .pe-lines { table-layout: fixed; }
.acct .pe-lines .field label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.acct .pe-lines .pe-no { width: 32px; color: var(--ds-ink-3); }
.acct .pe-lines .pe-part { width: 152px; }
.acct .pe-lines .pe-desc { width: auto; }
.acct .pe-lines .pe-qty, .acct .pe-lines .pe-received { width: 72px; }
.acct .pe-lines .pe-unit { width: 64px; }
.acct .pe-lines .pe-cost, .acct .pe-lines .pe-amount { width: 104px; }
.acct .pe-lines .pe-x { width: 40px; padding-right: var(--ds-s-2); }
.acct .pe-lines .pe-amount { white-space: normal; }
.acct .pe-lines .field input { padding: 0 var(--ds-s-2); }
.acct .pe-lines td { vertical-align: top; }
.acct .pe-lines .field textarea { field-sizing: content; min-height: calc(var(--ds-control-h) + var(--ds-s-5)); overflow-wrap: anywhere; resize: vertical; }
.acct .pe-lines .pe-qty input, .acct .pe-lines .pe-cost input { text-align: right; }
.acct .pe-editor a.btn { text-decoration: none; }
.acct .pe-lines .pill { margin-top: var(--ds-s-1); white-space: normal; height: auto; min-height: var(--ds-s-6); }
.acct .pe-editor .totals { grid-template-columns: minmax(0, 1fr) minmax(0, 45%); }
/* Search pickers (supplier, job, catalogue): the list floats over the form, so nothing below moves. */
.acct .pe-combo { position: relative; min-width: 0; }
.acct .pe-combo-box { position: relative; }
.acct .pe-combo-bare { flex: 1; max-width: 420px; }
.acct .pe-combo-bare .sbox { width: 100%; max-width: none; height: 32px; }
.acct .pe-combo-options { position: absolute; top: calc(100% + var(--ds-s-1)); left: 0; right: 0; z-index: 30; max-height: calc(var(--ds-s-10) * 6); overflow-y: auto; overscroll-behavior: contain; padding: var(--ds-s-1); border-radius: var(--ds-r-md); background: var(--ds-surface); box-shadow: var(--ds-e-pop); }
.acct .pe-combo-option { display: block; width: 100%; min-height: var(--ds-control-h); padding: var(--ds-s-2) var(--ds-s-3); text-align: left; border-radius: var(--ds-r-md); }
.acct .pe-combo-option + .pe-combo-option { border-top: 1px solid var(--ds-line); }
.acct .pe-combo-option:hover, .acct .pe-combo-option[aria-selected="true"] { background: var(--ds-paper-hover); }
.acct .pe-combo-box input[aria-busy="true"] { padding-right: var(--ds-s-8); }
.acct .pe-combo-options .empty-line { padding: var(--ds-s-2) var(--ds-s-3); }
.acct .pe-combo-spin { position: absolute; top: 50%; right: var(--ds-s-3); width: var(--ds-s-4); height: var(--ds-s-4); margin-top: calc(var(--ds-s-4) / -2); border-radius: 50%; border: 2px solid var(--ds-line); border-top-color: var(--ds-ink-3); animation: pe-combo-spin 0.8s linear infinite; pointer-events: none; }
@keyframes pe-combo-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .acct .pe-combo-spin { animation: none; } }
.acct .pe-lines .pe-combo-options { right: auto; width: max(100%, calc(var(--ds-s-10) * 11)); }
.acct .pe-price { float: right; margin-left: var(--ds-s-2); }
.acct .pe-description { display: block; margin-top: var(--ds-s-1); color: var(--ds-ink-2); }
.acct .pe-editor .field textarea { min-height: var(--ds-s-12); }
/* Editor shell: Create PO with its split menu, the two-column header and the Summary rail. */
.acct .pe-split { display: inline-flex; align-items: stretch; }
.acct .pe-split > .btn.primary { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.acct .pe-split > .pe-menu > summary { height: 100%; border-top-left-radius: 0; border-bottom-left-radius: 0; background: var(--ds-action); color: var(--ds-action-fg); box-shadow: inset 1px 0 0 var(--ds-action-hover); }
.acct .pe-split > .pe-menu > summary .ico { color: var(--ds-action-fg); }
.acct .pe-split > .pe-menu > summary:hover { background: var(--ds-action-hover); }
.acct .pe-split-more { gap: var(--ds-s-2); }
.acct .pe-split-more > .btn.primary { border-radius: var(--ds-r-md); }
.acct .pe-split-more > .pe-menu > summary { border-radius: var(--ds-r-md); background: var(--ds-surface); color: var(--ds-ink); box-shadow: inset 0 0 0 1px var(--ds-line); }
.acct .pe-split-more > .pe-menu > summary .ico { color: var(--ds-ink-2); }
.acct .pe-split-more > .pe-menu > summary:hover { background: var(--ds-paper-hover); }
.acct .pe-menu .pe-phone-ico, .acct .pe-menu.pe-phone-only { display: none; }
.acct .pe-menu .mnu-i.pe-phone-only { display: none; }
.acct .pe-head { display: grid; grid-template-columns: minmax(0, calc(var(--ds-s-10) * 9)) minmax(0, calc(var(--ds-s-10) * 6)); gap: var(--ds-s-4) var(--ds-s-8); align-items: start; }
.acct .pe-head-l, .acct .pe-head-r { display: grid; gap: var(--ds-s-3); align-content: start; min-width: 0; }
.acct .pe-head .pe-supplier { width: auto; }
.acct .pe-supplier-address { min-height: calc(var(--ds-lh-sm) * 3); font-style: normal; font-size: var(--ds-text-sm); line-height: var(--ds-lh-sm); color: var(--ds-ink-2); }
.acct .pe-ro { display: grid; grid-template-columns: calc(var(--ds-s-10) * 2 + var(--ds-s-4)) minmax(0, 1fr); gap: var(--ds-s-3); align-items: baseline; min-height: var(--ds-lh-sm); }
.acct .pe-ro .lbl { font-size: var(--ds-text-sm); color: var(--ds-ink-3); }
.acct .pe-ro .v { color: var(--ds-ink); }
.acct .pe-qb-error { display: block; margin-bottom: var(--ds-s-2); color: var(--ds-st-late-ink); }
.acct .pe-ask-group + .pe-ask-group { margin-top: var(--ds-s-5); }
.acct .pe-ask-group h3 { margin-bottom: var(--ds-s-2); color: var(--ds-ink-3); }
.acct .pe-ask-group ul { display: grid; gap: var(--ds-s-2); padding-left: var(--ds-s-5); }
@media screen and (max-width: 759px) {
  .acct .pe-editor .pe-page-actions { position: fixed; bottom: 0; left: 0; right: 0; z-index: 20; display: flex; flex-wrap: nowrap; gap: var(--ds-s-2); padding: var(--ds-s-3) var(--ds-s-4); padding-bottom: calc(var(--ds-s-3) + env(safe-area-inset-bottom)); background: var(--ds-surface); box-shadow: inset 0 1px 0 var(--ds-line); }
  .acct .pe-editor .pe-page-actions > .btn { display: none; }
  .acct .pe-editor .pe-split, .acct .pe-editor .pe-split-more { flex: 1; display: flex; gap: var(--ds-s-2); }
  .acct .pe-editor .pe-page-actions .btn.primary { order: 0; flex: 1; min-width: 0; height: var(--ds-touch-h); white-space: normal; border-radius: var(--ds-r-md); }
  .acct .pe-split > .pe-menu > summary { border-radius: var(--ds-r-md); background: var(--ds-surface); color: var(--ds-ink); box-shadow: inset 0 0 0 1px var(--ds-line); }
  .acct .pe-split > .pe-menu > summary .ico { color: var(--ds-ink-2); }
  .acct .pe-menu.pe-phone-only, .acct .pe-menu .pe-phone-ico { display: inline-block; }
  .acct .pe-menu .pe-desk-ico { display: none; }
  .acct .pe-menu .mnu-i.pe-phone-only { display: block; }
  .acct .pe-head { grid-template-columns: minmax(0, 1fr); }
  .acct .pe-editor .btn, .acct .pe-editor .ulink, .acct .pe-editor .arow .btn { min-height: var(--ds-touch-h); height: auto; }
  .acct .pe-editor .field input, .acct .pe-editor .field select, .acct .pe-combo-option { min-height: var(--ds-touch-h); }
  .acct .pe-editor .totals { grid-template-columns: minmax(0, 1fr); }
  .acct .pe-editor .note .acts { width: 100%; }
  .acct .pe-editor .note .acts .btn { flex: 1; white-space: normal; }
}
/* Line cards. The line number and the x share the top row; Item and Description run full width; Qty / Unit /
   Unit cost / Amount sit as a 2x2 on a phone and in one row when the cards are wider. The blank line at the bottom
   has no number row. */
@container pe-lines (max-width: 759px) {
  .acct .pe-editor .pe-lines, .acct .pe-editor .pe-lines tbody { display: block; width: 100%; }
  .acct .pe-lines thead, .acct .pe-lines colgroup { display: none; }
  .acct .pe-lines tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ds-s-3); padding: var(--ds-s-4); border-top: 1px solid var(--ds-line); }
  .acct .pe-editor .pe-lines td, .acct .pe-editor .pe-lines td:first-child, .acct .pe-editor .pe-lines td:last-child { display: block; width: auto; height: auto; padding: 0; box-shadow: none; min-width: 0; text-align: left; white-space: normal; }
  .acct .pe-lines .field label { position: static; width: auto; height: auto; overflow: visible; clip-path: none; }
  .acct .pe-editor .pe-lines .pe-no { grid-row: 1; grid-column: 1; align-self: center; font-size: var(--ds-text-sm); }
  .acct .pe-lines .pe-no::before { content: "Line "; }
  .acct .pe-editor .pe-lines .pe-x { grid-row: 1; grid-column: -2 / -1; justify-self: end; align-self: center; }
  .acct .pe-editor .pe-lines tr.pe-blank td.pe-no, .acct .pe-editor .pe-lines tr.pe-blank td.pe-x, .acct .pe-editor .pe-lines tr.pe-blank td.pe-received, .acct .pe-editor .pe-lines tr.pe-blank td.pe-amount { display: none; }
  .acct .pe-lines .field { max-width: none; }
  .acct .pe-lines .pe-part, .acct .pe-lines .pe-desc { grid-column: 1 / -1; }
  .acct .pe-lines .pe-received::before { content: "Received"; display: block; margin-bottom: var(--ds-s-2); color: var(--ds-ink-3); font-size: var(--ds-text-sm); }
  .acct .pe-lines .pe-amount::before { content: "Amount"; display: block; margin-bottom: var(--ds-s-2); color: var(--ds-ink-3); font-size: var(--ds-text-sm); }
  .acct .pe-lines .pe-combo-options { right: 0; width: auto; }
}
@container pe-lines (min-width: 480px) and (max-width: 759px) {
  .acct .pe-lines tr { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ======================================================== screen section: 90-sync */
/* Sync facts, mapping rows and the approved QuickBooks party match cards. */
.acct .sy-health { padding: var(--ds-s-4) 0; border-top: 1px solid var(--ds-line); border-bottom: 1px solid var(--ds-line); }
.acct .sy-health .facts { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--ds-s-4); }
.acct .sy-actions { display: flex; flex-wrap: wrap; gap: var(--ds-s-2); }
.acct .sy-reason { min-width: var(--ds-s-12); overflow-wrap: anywhere; }
.acct .sy-diagnostic { margin-top: var(--ds-s-1); }
.acct .sy-diff { margin-top: var(--ds-s-3); }
.acct .sy-skip { display: grid; gap: var(--ds-s-2); margin-top: var(--ds-s-3); }
.acct .sy-batches { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--ds-s-6); margin-top: var(--ds-s-4); }
.acct .sy-batch-rail { min-width: 0; background: var(--ds-surface); border-radius: var(--ds-r-lg); }
.acct .sy-batch-rail h4 { font-size: var(--ds-text-sm); color: var(--ds-ink-3); margin: var(--ds-s-3) 0 var(--ds-s-2); }
.acct .sy-result-list { display: grid; gap: var(--ds-s-2); }
.acct .mp-sections { display: grid; gap: var(--ds-s-4); }
.acct .mp-sections .toolbar { padding-bottom: 0; }
.acct .mp-sections h2 { font-size: var(--ds-text-md); }
.acct .mp-accounts { display: grid; grid-template-columns: repeat(2, minmax(0, calc(var(--ds-s-10) * 8))); gap: var(--ds-s-4); padding: var(--ds-s-4) var(--ds-s-6); }
.acct .mp-accounts > .btn { justify-self: start; }
.acct .mp-row { display: flex; align-items: end; gap: var(--ds-s-4); padding: var(--ds-s-4) var(--ds-s-6); border-bottom: 1px solid var(--ds-line); }
.acct .mp-label { flex: 1; align-self: center; overflow-wrap: anywhere; min-width: 0; }
.acct .mp-inputs { flex: 1; display: flex; gap: var(--ds-s-3); min-width: 0; }
.acct .mp-inputs .field, .acct .mp-row > .field { flex: 1; }
.acct .mp-unavailable { padding: 0 var(--ds-s-6) var(--ds-s-4); }
.acct .mp-requirement { color: var(--ds-ink-3); font-size: var(--ds-text-sm); margin-top: var(--ds-s-2); }
.acct .qp-party { display: grid; gap: var(--ds-s-4); }
.acct .qp-party > .seg2 { display: flex; flex-wrap: nowrap; }
.acct .qp-party > .seg2 button { flex: 1; justify-content: center; }
.acct .qp-matches-title { margin-top: var(--ds-s-2); font-size: var(--ds-text-md); font-weight: var(--ds-w-semi); }
.acct .qp-matches { display: grid; gap: var(--ds-s-3); }
.acct .qp-candidate { min-width: 0; padding: var(--ds-s-4); border: 1px solid var(--ds-line); border-radius: var(--ds-r-lg); }
.acct .qp-selected { border-color: var(--ds-selection); background: var(--ds-sel-bg); }
.acct .qp-candidate-top { display: flex; align-items: flex-start; gap: var(--ds-s-3); }
.acct .qp-candidate-top input { flex: none; accent-color: var(--ds-selection); margin-top: var(--ds-s-1); }
.acct .qp-candidate-name { display: block; font-weight: var(--ds-w-semi); font-size: var(--ds-text-md); overflow-wrap: anywhere; }
.acct .qp-candidate-top .meta { display: block; margin-top: var(--ds-s-1); }
.acct .qp-confidence { display: flex; align-items: center; gap: var(--ds-s-2); margin: var(--ds-s-3) 0 0 calc(var(--ds-s-4) + var(--ds-s-3)); font-size: var(--ds-text-sm); }
.acct .qp-confidence .pbar { flex: 1; }
.acct .qp-reasons { display: grid; gap: var(--ds-s-2); margin: var(--ds-s-3) 0 0 calc(var(--ds-s-4) + var(--ds-s-3)); font-size: var(--ds-text-sm); color: var(--ds-ink-2); }
.acct .qp-unavailable { background: var(--ds-canvas); color: var(--ds-ink-3); }
.acct .qp-unavailable .qp-candidate-name { font-weight: var(--ds-w-medium); }
.acct .qp-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ds-s-3); }
.acct .qp-form .full, .acct .qp-locality, .acct .qp-suggestion { grid-column: 1 / -1; }
.acct .qp-locality { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .5fr) minmax(0, 1fr); gap: var(--ds-s-3); }
.acct .qp-name-warning .ferr { color: var(--ds-ink-3); }
.acct .qp-name-warning input { box-shadow: inset 0 0 0 1px var(--ds-field); }
.acct .qp-requirement { margin-top: var(--ds-s-3); }
@media (min-width: 1400px) {
  .acct .sy-batches:has(.sy-batch-rail) { grid-template-columns: minmax(0, 1fr) minmax(0, .45fr); }
}
@media screen and (max-width: 759px) {
  .acct .sy-health .facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .acct .sy-health .facts > :last-child { grid-column: 1 / -1; }
  .acct .sy-page .tblwrap, .acct .sy-page .card { min-width: 0; overflow-wrap: anywhere; }
  .acct .sy-page .tbl.cards td { flex-wrap: wrap; text-align: left; }
  .acct .sy-page .tbl.cards td.sy-reason { display: block; }
  .acct .sy-page .tbl.cards td.sy-reason::before { display: block; }
  .acct .sy-page .tbl.cards td > .tblwrap { width: 100%; }
  .acct .sy-actions, .acct .sy-skip { width: 100%; }
  .acct .sy-actions .btn, .acct .sy-skip .btn, .acct .sy-batch-rail .btn, .acct .sy-batches > div > .btn { min-height: var(--ds-touch-h); width: 100%; }
  .acct .mp-accounts, .acct .qp-form, .acct .qp-locality { grid-template-columns: minmax(0, 1fr); }
  .acct .mp-row { flex-direction: column; align-items: stretch; gap: var(--ds-s-3); padding: var(--ds-s-4); }
  .acct .mp-label { align-self: stretch; }
  .acct .mp-inputs { flex-direction: column; }
  .acct .mp-accounts { padding: var(--ds-s-4); }
  .acct .mp-accounts > .btn, .acct .mp-row > .btn { width: 100%; min-height: var(--ds-touch-h); }
  .acct .qp-candidate-name { font-size: var(--ds-text-p-body); line-height: var(--ds-lh-p-body); }
  .acct .qp-reasons, .acct .qp-confidence { font-size: var(--ds-text-p-meta); line-height: var(--ds-lh-p-meta); }
  .acct .qp-party .seg2 button { min-height: var(--ds-touch-h); white-space: normal; }
  .acct .qp-suggestion .ulink { display: inline-flex; align-items: center; min-height: var(--ds-touch-h); }
}

/* C3 lines grid: the catalogue list under the Item cell, and the quiet unpriced count. */
.acct .pe-lines td.pe-part { position: relative; overflow: visible; }
.acct .pe-to-price { font-weight: normal; color: var(--ds-ink-2); }
@media screen and (max-width: 759px) { .acct .ie-lines .ie-code, .acct .ie-lines .ie-qty, .acct .ie-lines .ie-rate, .acct .ie-lines .ie-tax, .acct .ie-lines .ie-amount, .acct .ie-lines .ie-remove { width: auto; } }

/* Wave 3 forms: bounded fields, a compact mapping table and line-based credit selection. */
.acct .pe-order-fields { display: grid; gap: var(--ds-s-5); }
.acct .pe-supplier { width: calc(var(--ds-s-10) * 9); max-width: 100%; display: grid; gap: var(--ds-s-2); }
.acct .pe-supplier .field { max-width: none; }
.acct .pe-supplier .sbox { width: 100%; max-width: 100%; }
.acct .pe-job-row { display: grid; grid-template-columns: minmax(0, calc(var(--ds-s-10) * 8)) repeat(2, minmax(0, calc(var(--ds-s-10) * 6))); gap: var(--ds-s-4); align-items: start; }
.acct .pe-job { position: relative; display: grid; gap: var(--ds-s-1); }
.acct .pe-job-box { position: relative; }
.acct .pe-job-box .field { max-width: none; }
.acct .pe-job-box .pe-job-clear { position: absolute; right: var(--ds-s-1); bottom: var(--ds-s-1); }
.acct .pe-job-box:has(.pe-job-clear) input { padding-right: var(--ds-s-10); text-overflow: ellipsis; }
.acct .pe-standing { min-height: var(--ds-lh-sm); font-size: var(--ds-text-sm); line-height: var(--ds-lh-sm); color: var(--ds-ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.acct .pe-standing.bad { color: var(--ds-st-late); }
.acct .pe-ship { display: grid; gap: var(--ds-s-1); }
.acct .pe-ship-address { min-height: calc(var(--ds-lh-sm) * 3); font-style: normal; font-size: var(--ds-text-sm); line-height: var(--ds-lh-sm); color: var(--ds-ink-2); }
.acct .pe-notes { padding-top: var(--ds-s-4); }
.acct .pe-editor .empty-line { padding: var(--ds-s-2) var(--ds-s-6); color: var(--ds-ink-3); }
.acct .pd-progress-text { color: var(--ds-ink-2); }
.acct .mp-items { table-layout: fixed; }
.acct .mp-sections .card:has(.mp-accounts) { width: calc(var(--ds-s-10) * 18); max-width: 100%; }
.acct .mp-items th:first-child { width: calc(var(--ds-s-10) * 6); }
.acct .mp-items th:nth-child(2) { width: calc(var(--ds-s-10) * 2); }
.acct .mp-items tbody tr { height: calc(var(--ds-s-10) + var(--ds-s-1)); }
.acct .mp-items td { height: calc(var(--ds-s-10) + var(--ds-s-1)); padding-top: 0; padding-bottom: 0; }
.acct .mp-items td:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.acct .mp-account-cell { display: flex; align-items: center; gap: var(--ds-s-2); }
.acct .mp-account-cell .field { flex: 1; }
.acct .mp-account-cell label, .acct .cm-table .field label { position: absolute; width: var(--ds-rule-hair); height: var(--ds-rule-hair); overflow: hidden; clip-path: inset(50%); }
.acct .mp-saved { color: var(--ds-ink-3); font-size: var(--ds-text-sm); }
.acct .cm-table { table-layout: fixed; }
.acct .cm-table th:first-child { width: var(--ds-s-8); }
.acct .cm-table th:nth-child(3) { width: calc(var(--ds-s-10) + var(--ds-s-4)); }
.acct .cm-table th:nth-child(4), .acct .cm-table th:nth-child(5) { width: calc(var(--ds-s-10) * 2); }
.acct .cm-table td { padding: var(--ds-s-2) var(--ds-s-1); vertical-align: top; }
.acct .cm-description { display: block; width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: left; padding: var(--ds-s-2) 0; }
.acct .cm-description.expanded { white-space: normal; overflow-wrap: anywhere; }
.acct .cm-table .field input { padding: 0 var(--ds-s-1); text-align: right; }
.acct .qp-supplier-list { display: grid; }
.acct .qp-supplier-candidate { display: flex; align-items: center; gap: var(--ds-s-3); min-height: calc(var(--ds-s-10) + var(--ds-s-1)); padding: var(--ds-s-2); border-bottom: thin solid var(--ds-line); }
.acct .qp-supplier-candidate input { accent-color: var(--ds-selection); }
.acct .wo-setup { color: var(--ds-ink-2); }
@media screen and (max-width: 759px) {
  .acct .pe-job-row { grid-template-columns: minmax(0, 1fr); }
  .acct .mp-items th:first-child { width: calc(var(--ds-s-10) * 2); }
  .acct .mp-items th:nth-child(2) { width: var(--ds-s-10); }
  .acct .mp-items td { padding-left: var(--ds-s-1); padding-right: var(--ds-s-1); }
  .acct .mp-account-cell { flex-wrap: wrap; }
  .acct .mp-account-cell .field { flex-basis: 100%; }
  .acct .mp-items tbody tr, .acct .mp-items td { height: auto; min-height: var(--ds-touch-h); }
  .acct .cm-table { min-width: calc(var(--ds-s-10) * 11); }
}

/* Wave 4: one page gutter, rail and row action target. */
.acct .dp, .acct .listframe { grid-template-columns: minmax(0, 1fr) calc(var(--ds-s-10) * 9); gap: var(--ds-gutter); padding-right: var(--ds-gutter); }
.acct .dp-main, .acct .listpage { padding: var(--ds-s-5) 0 var(--ds-s-8) var(--ds-gutter); }
.acct .dp-main > .listpage { padding: 0; }
.acct .dp-main:only-child, .acct .rc-screen .dp-main:only-child { grid-column: 1; }
.acct .dp-rail, .acct .listframe > .lpanel { position: sticky; top: var(--ds-s-4); align-self: start; margin-top: var(--ds-s-5); max-height: calc(100vh - var(--ds-s-10)); overflow-y: auto; min-height: 0; }
/* Invoice page: one scroll for the whole page, like QuickBooks; the side panel never scrolls on its own. */
.acct .dp.id-page > .dp-rail { position: static; max-height: none; overflow: visible; }
.acct .phead, .acct .titlebar { align-items: center; }
.acct .phead .sumline, .acct .rc-head .phead .sumline { order: 3; width: 100%; margin-top: 0; }
.acct .row-acts { opacity: 1; align-items: center; flex-wrap: nowrap; width: calc(var(--ds-s-10) * 4); min-width: calc(var(--ds-s-10) * 4); margin-left: auto; }
.acct .row-acts > .btn { margin-right: auto; }
.acct .row-acts .mnu > summary { background: transparent; box-shadow: none; }
.acct .rc-fix, .acct .pl-menu { width: calc(var(--ds-s-10) * 4); }
.acct tr[data-a] { cursor: pointer; }
.acct .il-selection { position: fixed; bottom: var(--ds-s-4); left: var(--ds-gutter); right: var(--ds-gutter); width: auto; z-index: 20; padding: var(--ds-s-3); background: var(--ds-surface); border-radius: var(--ds-r-md); box-shadow: var(--ds-e-bar); }
.acct .asof-filter { display: inline-flex; align-items: center; gap: var(--ds-s-2); color: var(--ds-ink-3); font-size: var(--ds-text-sm); }
.acct .asof-filter input { width: calc(var(--ds-s-10) * 4); height: var(--ds-control-h); color: var(--ds-ink); background: var(--ds-surface); border: var(--ds-rule-hair) solid var(--ds-field); border-radius: var(--ds-r-md); padding: 0 var(--ds-s-2); font: inherit; }
.acct .update-status { color: var(--ds-ink-3); font-size: var(--ds-text-sm); }
.acct .page-status { padding: var(--ds-s-2) var(--ds-gutter); }
.acct .mp-sections { display: grid; grid-template-columns: calc(var(--ds-s-10) * 5) minmax(0, 1fr); align-items: start; }
.acct .mp-nav { display: grid; position: sticky; top: var(--ds-s-4); }
.acct .mp-nav .btn { justify-content: start; }
.acct .mp-nav .on { background: var(--ds-sel-bg); }
.acct .mp-current { min-width: 0; }
.acct .mp-current .card { margin: 0; }
.acct .mp-table th:first-child { width: calc(var(--ds-s-10) * 5); }
.acct .mp-table th:nth-child(2) { width: calc(var(--ds-s-10) + var(--ds-s-6)); }
.acct .mp-items td { overflow: hidden; white-space: nowrap; }
.acct .mp-account-cell { flex-wrap: nowrap; }
.acct .mp-account-cell .field { min-width: 0; }
.acct .mp-account-cell input, .acct .mp-account-cell select { width: 100%; min-width: 0; }
.acct .mp-table th:last-child { width: calc(var(--ds-s-10) * 3); }
.acct .mp-accounts .field { max-width: calc(var(--ds-s-10) * 8); }
.acct .pe-supplier { position: relative; }
.acct .acct-records { display: flex; flex-wrap: wrap; gap: var(--ds-s-2); padding: var(--ds-s-1) var(--ds-gutter); background: var(--ds-chrome); }
.acct .acct-record { display: flex; align-items: center; border-radius: var(--ds-r-md); }
.acct .acct-record.on { background: var(--ds-chrome-raise); }
.acct .acct-record .btn { color: var(--ds-chrome-fg); }
.acct .acct-record .ico { color: inherit; }
.acct .discard-layer { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; }
.acct .discard-dialog { position: relative; padding: var(--ds-s-6); border-radius: var(--ds-r-lg); background: var(--ds-surface); box-shadow: var(--ds-e-pop); }
.acct .discard-dialog .acts { display: flex; gap: var(--ds-s-3); margin-top: var(--ds-s-5); }
body:has(.acct) [data-rt-chrome] .rt-strip:not(:has(.rt-tab)) { display: none; }
@media (max-width: 1099px) {
  .acct .dp, .acct .listframe { grid-template-columns: minmax(0, 1fr); }
  .acct .dp-rail, .acct .listframe > .lpanel { position: static; max-height: none; }
}
@media screen and (max-width: 759px) {
  .acct .dp, .acct .listframe { display: block; padding-right: var(--ds-s-4); }
  .acct .dp-main, .acct .listpage, .acct .rc-screen .dp-main { padding-left: var(--ds-s-4); }
  .acct .dp-main > .listpage { padding: 0; }
  .acct .mp-sections { grid-template-columns: minmax(0, 1fr); }
  .acct .mp-nav { position: static; display: flex; flex-wrap: wrap; }
  .acct .mp-items tbody tr, .acct .mp-items td { height: calc(var(--ds-s-10) + var(--ds-s-1)); min-height: 0; }
  .acct .mp-account-cell { flex-wrap: nowrap; }
  .acct .mp-account-cell .field { flex-basis: auto; }
  .acct .mp-current .tblwrap { overflow-x: auto; }
  .acct .mp-table { min-width: calc(var(--ds-s-10) * 15); }
  .acct .row-acts, .acct .il-row-actions { display: flex; width: auto; min-width: 0; }
  .acct .row-acts .mnu > summary { width: var(--ds-touch-h); height: var(--ds-touch-h); }
  .acct .acct-records { display: none; }
}

.acct .rc-bulkbar { position: fixed; bottom: var(--ds-s-4); left: var(--ds-gutter); right: var(--ds-gutter); z-index: 20; padding: var(--ds-s-3); background: var(--ds-surface); box-shadow: var(--ds-e-bar); }
.acct .il-frame .listpage, .acct .rc-screen .dp-main { padding-bottom: calc(var(--ds-s-10) * 3); }
.acct .ih-row > .row-acts, .acct .ih-cols > .caps:last-child { min-width: calc(var(--ds-s-10) * 4); }
.acct .mp-save-cell .mp-requirement { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.acct .rc-layout { display: grid; grid-template-columns: calc(var(--ds-s-10) * 6) minmax(0, 1fr); align-items: start; }
.acct .rc-nav { display: grid; gap: var(--ds-s-2); padding: var(--ds-s-4); position: sticky; top: var(--ds-s-4); }
.acct .rc-nav .utabs { flex-wrap: wrap; }
.acct .rc-queue { display: flex; justify-content: space-between; gap: var(--ds-s-3); padding: var(--ds-s-3); text-align: left; border-radius: var(--ds-r-md); }
.acct .rc-queue.on { background: var(--ds-sel-bg); box-shadow: inset var(--ds-s-1) 0 0 var(--ds-selection); }
.acct .rc-queue.empty { color: var(--ds-ink-3); }
.acct .rc-other { margin-top: var(--ds-s-4); }
.acct .rc-other summary, .acct .technical > summary { cursor: pointer; padding: var(--ds-s-2) 0; color: var(--ds-ink-2); }
.acct .rc-other .rc-queue { width: 100%; }
.acct .rc-layout > .dp { min-width: 0; }
.acct .rc-layout .rc-exception { min-width: 0; }
.acct .rc-layout .dp-main { overflow-x: auto; }
.acct .rc-layout .rc-fix { min-width: 0; }
.acct .rc-layout .rc-fix .btn { width: auto; }
.acct .long-note { max-width: calc(var(--ds-s-10) * 14); white-space: normal; overflow-wrap: anywhere; }
.acct .long-note > summary { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; cursor: pointer; }
.acct .long-note[open] > summary { display: block; white-space: pre-wrap; -webkit-line-clamp: unset; }
.acct .tax-tick { white-space: nowrap; }
.acct .technical { padding: var(--ds-s-3) var(--ds-s-5); }
.acct .ie-lines .cell { box-shadow: none; border-color: transparent; background: transparent; }
.acct .ie-lines tr:hover .cell { box-shadow: inset 0 0 0 var(--ds-rule-hair) var(--ds-field); background: var(--ds-surface); }
.acct .ie-lines .cell:focus { outline: var(--ds-focus-w) solid var(--ds-focus); outline-offset: var(--ds-focus-off); }
.acct .me-form textarea { max-width: calc(var(--ds-s-10) * 12); }
.acct .dp-bottom { position: sticky; bottom: 0; background: var(--ds-surface); box-shadow: var(--ds-e-bar); padding: var(--ds-s-4) var(--ds-gutter); z-index: 10; max-height: calc(100vh - var(--ds-touch-primary) - var(--ds-s-12)); overflow-y: auto; }
.acct .dp-bottom > .rs { max-width: calc(var(--ds-s-10) * 16); margin: 0 auto; }
.acct .dp-bottom .dp-fields { display: flex; flex-wrap: wrap; gap: var(--ds-s-3); }
.acct .dp-bottom .dp-fields > .field { flex: 1; min-width: calc(var(--ds-s-10) * 4); }
.acct .sheet-b > .btn[data-a="pm-suggest"] { width: auto; }
.acct .seg2:has([data-v^="pm-payment|method|"]) { display: flex; flex-wrap: nowrap; overflow-x: auto; max-width: 100%; }
.acct .seg2:has([data-v^="pm-payment|method|"]) button { flex: none; }
.acct .acct-phonebar { display: none; }
.acct .pl-phone-site { display: none; }
@media (max-width: 1099px) {
  .acct .rc-layout { grid-template-columns: calc(var(--ds-s-10) * 5) minmax(0, 1fr); }
}
@media screen and (max-width: 759px) {
  body:has(.acct) .top { display: none; }
  body:has(.acct .acct-menu[open]) .top { display: flex; position: fixed; top: var(--ds-touch-h); left: 0; width: 50%; height: auto; max-height: calc(100vh - var(--ds-touch-h)); overflow-y: auto; flex-direction: column; flex-wrap: nowrap; align-items: stretch; background: var(--ds-chrome); padding: var(--ds-s-2); z-index: 31; }
  body:has(.acct .acct-menu[open]) .top > * { flex: none; max-width: 100%; min-width: 0; }
  body:has(.acct .acct-menu[open]) .top .logo { display: none; }
  body:has(.acct .acct-menu[open]) .top .nav { display: flex; flex-direction: column; flex-wrap: nowrap; width: 100%; height: auto; align-items: stretch; overflow: visible; }
  body:has(.acct .acct-menu[open]) .top .search { display: block; width: 100%; min-width: 0; }
  body:has(.acct .acct-menu[open]) .top .nav a { min-height: var(--ds-touch-h); }
  .acct .stagebar, .acct .acct-records { display: none; }
  .acct .acct-phonebar { display: flex; align-items: center; gap: var(--ds-s-3); height: var(--ds-touch-h); padding: 0 var(--ds-s-4); background: var(--ds-chrome); color: var(--ds-chrome-fg); }
  .acct .acct-menu > summary { display: flex; align-items: center; justify-content: center; min-width: var(--ds-touch-h); min-height: var(--ds-touch-h); cursor: pointer; }
  .acct .acct-menu nav { display: grid; position: fixed; top: var(--ds-touch-h); right: 0; width: 50%; background: var(--ds-chrome); padding: var(--ds-s-2); box-shadow: var(--ds-e-pop); z-index: 31; }
  .acct .acct-menu nav .btn { min-height: var(--ds-touch-h); white-space: normal; color: var(--ds-chrome-fg); }
  .acct .acct-menu nav .on { background: var(--ds-chrome-raise); }
  .acct .acct-body, .acct .dp-main, .acct .listpage, .acct .toolbar, .acct .sbox { min-width: 0; max-width: 100%; }
  .acct .sbox input { min-width: 0; width: 100%; }
  .acct [data-a$="export"] { display: none; }
  .acct .rc-layout { display: block; }
  .acct .rc-nav { position: static; }
  .acct .rc-nav .btn { width: auto; }
  .acct .rc-screen .phead .acts { display: none; }
  .acct .rc-layout .dp-main { overflow-x: visible; }
  .acct .il-group-head, .acct .il-other-head { display: none; }
  .acct .il-row .il-phone-site { display: block; grid-column: 1 / -1; grid-row: 1; font-weight: var(--ds-w-semi); }
  .acct .il-row .il-status { grid-column: 1 / -1; grid-row: 3; }
  .acct .il-row .il-invoice { grid-column: 1; grid-row: 2; }
  .acct .il-row .il-balance { grid-column: 2; grid-row: 2; text-align: right; }
  .acct .il-row .il-amount, .acct .il-row .il-due, .acct .il-row .il-row-site, .acct .il-row .il-pick, .acct .il-row .il-qb, .acct .il-row .il-check, .acct .il-invoice .b, .acct .il-balance .il-phone-label { display: none; }
  .acct .row-acts > .mnu, .acct .pl-meter, .acct .pl-number > .meta { display: none; }
  .acct .il-row-actions { grid-column: 1 / -1; }
  .acct .pl-table .pl-menu { grid-column: 1 / -1; width: auto; }
  .acct .pl-menu .row-acts { min-height: var(--ds-touch-h); }
  .acct .pl-phone-site { display: block; white-space: normal; overflow-wrap: anywhere; }
  .acct .ie-editor .dp-main { padding-bottom: calc(var(--ds-touch-primary) + var(--ds-s-12) + env(safe-area-inset-bottom)); }
  .acct .dp-bottom { padding: var(--ds-s-4); }
}

/* Ageing: one customer ledger with site detail on demand. */
.acct .ag-page { min-width: 0; }
.acct .ag-page .sumline, .acct .ag-table .money { font-family: var(--ds-font); font-variant-numeric: var(--ds-nums); }
.acct .ag-page .sumline { flex-basis: 100%; order: 2; }
.acct .ag-table { table-layout: fixed; background: var(--ds-surface); }
.acct .ag-table th:first-child { width: 28%; }
.acct .ag-table th:last-child { width: calc(var(--ds-control-h) + var(--ds-s-10)); }
.acct .ag-table th, .acct .ag-table td { padding-left: var(--ds-s-2); padding-right: var(--ds-s-2); }
.acct .ag-table .money { font-size: var(--ds-text-sm); }
.acct .ag-name { display: flex; align-items: center; gap: var(--ds-s-1); min-width: 0; }
.acct .ag-name .ulink { text-align: left; white-space: normal; overflow-wrap: anywhere; }
.acct .ag-expand { flex: none; }
.acct .ag-table .ag-site-name { padding-left: var(--ds-s-10); color: var(--ds-ink-2); overflow-wrap: anywhere; }
.acct .ag-table .ag-actions { text-align: right; }
.acct .ag-table .ag-total td { font-weight: var(--ds-w-semi); border-top: 1px solid var(--ds-field); }
.acct .ag-page .tblwrap:has(.mnu[open]) { overflow: visible; }
@media screen and (max-width: 759px) {
  .acct .ag-page .tblwrap { overflow: visible; }
  .acct .ag-page .tbl.cards td { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
  .acct .ag-page .ag-table.cards .money:empty { display: none; }
  .acct .ag-page .ag-table.cards .ag-customer-name { display: block; text-align: left; }
  .acct .ag-page .ag-table.cards .ag-actions { justify-content: flex-end; }
  .acct .ag-page .ag-table.cards .ag-total td { border-top: 0; }
  .acct .ag-page .ag-table.cards .ag-total { border-top: 1px solid var(--ds-field); }
  .acct .ag-page .ag-table.cards .ag-site { padding-left: var(--ds-s-8); }
  .acct .ag-page .ag-expand, .acct .ag-page .mnu > summary, .acct .ag-page .chip, .acct .ag-page .sbox { min-height: var(--ds-touch-h); }
  .acct .ag-page .ag-expand { min-width: var(--ds-touch-h); }
  .acct .ag-page .ag-name > .ulink { min-height: var(--ds-touch-h); }
  .acct .ag-page .phead .acts [data-a="report-export"] { display: inline-flex; }
}
/* Round two: use the page width and keep panel feedback in the viewport. */
.acct .dp-main:only-child, .acct .rc-screen .dp-main:only-child { grid-column: 1 / -1; }
.acct .sheet-f .needed-list { top: auto; bottom: calc(100% + var(--ds-s-2)); max-height: calc(100dvh - var(--ds-touch-primary) - var(--ds-s-12)); overflow-y: auto; z-index: 2; }
.acct .sheet-f .needed-action { margin-left: auto; }
.acct .flash { position: fixed; right: var(--ds-s-4); bottom: var(--ds-s-4); left: var(--ds-s-4); z-index: 60; padding: var(--ds-s-3) var(--ds-s-4); border-radius: var(--ds-r-md); box-shadow: var(--ds-e-pop); }
.acct .flash.warn .ico, .acct .note.warn > .ico, .acct .ie-flag .ico { color: var(--ds-ink-3); }
.acct .note.warn { background: transparent;border:0;border-radius:0;color:var(--ds-ink-3);padding:2px 0;min-height:0;margin-top:4px;box-shadow:none;font-size:var(--ds-text-sm) }
.acct .ulink, .acct .row-acts > .btn.quiet { color: var(--ds-ink); text-decoration: underline; text-underline-offset: var(--ds-s-1); }
.acct .pl-phone-open, .acct .acct-phone-tabs, .acct .rc-panel-close { display: none; }
.acct .il-cols > .caps.r, .acct .pl-table th.r { text-align: right; }
.acct .rc-table th:first-child { width: var(--ds-s-8); }
.acct .rc-layout .rc-exception { min-width: calc(var(--ds-s-10) * 5); }
.acct .rc-table td.rc-fix { min-width: 0; }
.acct .rc-panel-actions { display: flex; flex-wrap: wrap; }
.acct .rc-panel-actions .btn { width: auto; }
.acct .ie-site { position: relative; }
.acct .ie-results { position: absolute; top: 100%; left: 0; right: 0; z-index: 10; max-height: calc(var(--ds-s-10) * 6); overflow-y: auto; box-shadow: var(--ds-e-pop); }
.acct .ie-customer > div { padding-top: var(--ds-s-2); color: var(--ds-ink-2); }
.acct .cm-description { white-space: normal; overflow-wrap: anywhere; }
.acct .cm-table .ck { display: inline-flex; align-items: center; }
.acct .me-strip { flex-wrap: wrap; overflow: visible; }
.acct .mp-save-cell .mp-requirement { white-space: normal; overflow: visible; }
.acct .mp-table th:last-child { width: calc(var(--ds-s-10) * 4); }
.acct .pe-lines .pe-desc textarea, .acct .pe-lines .pe-part textarea { min-height: var(--ds-touch-h); resize: vertical; }
.acct .pe-lines .pill { white-space: nowrap; }
.acct .form-loading { padding: var(--ds-s-6); color: var(--ds-ink-3); }
@media (min-width: 760px) and (max-width: 1099px) {
  body:has(.acct) .top .search { min-width: calc(var(--ds-s-10) * 4); }
}
@media screen and (max-width: 759px) {
  .acct .sheet-f .needed-action { flex: 1; }
  .acct .needed-list, .acct .sheet-f .needed-list { position: fixed; top: auto; bottom: calc(var(--ds-touch-primary) + var(--ds-s-8)); left: var(--ds-s-4); right: var(--ds-s-4); width: auto; max-width: none; max-height: calc(100dvh - var(--ds-touch-primary) - var(--ds-s-12)); overflow-y: auto; z-index: 60; }
  .acct .acct-phone-tabs { display: flex; overflow-x: auto; background: var(--ds-surface); gap: var(--ds-s-2); padding: var(--ds-s-2) var(--ds-s-4); }
  .acct .acct-phone-tabs .btn { flex: none; min-height: var(--ds-touch-h); }
  .acct .acct-phone-tabs .on { background: var(--ds-sel-bg); }
  body:has(.acct .acct-menu[open]) .top { width: 100%; top: var(--ds-touch-h); bottom: 0; max-height: none; padding: var(--ds-s-4); box-shadow: var(--ds-e-pop); }
  .acct .acct-menu nav { display: none; }
  .acct .rc-layout .dp-rail { display: none; }
  .acct .rc-panel-open .rc-layout .dp-rail { display: block; position: fixed; inset: 0; height: 100dvh; max-height: 100dvh; width: 100%; box-sizing: border-box; margin: 0; padding: var(--ds-s-4); z-index: 40; overflow-y: auto; background: var(--ds-surface); }
  .acct .rc-panel-close { display: flex; justify-content: end; position: sticky; top: 0; background: var(--ds-surface); }
  .acct .rc-nav { max-height: calc(var(--ds-touch-h) * 4); overflow-y: auto; }
  .acct .rc-table tr { display: grid; grid-template-columns: var(--ds-s-8) minmax(0, 1fr); gap: var(--ds-s-2); }
  .acct .rc-table tr > td { grid-column: 2; }
  .acct .rc-table tr > .rc-checkbox { grid-column: 1; grid-row: 1; }
  .acct .rc-table tr > .rc-exception { grid-column: 2; grid-row: 1; }
  .acct .rc-table .rc-checkbox .ck { min-height: var(--ds-control-h); }
  .acct .pl-phone-open { display: inline-flex; }
  .acct .pl-destination, .acct .pl-meter:not([data-l]) { display: none !important; }
  .acct .long-note { max-width: 100%; }
  .acct .id-lines td[data-l="Description"] { display: block; }
  .acct .id-lines td[data-l="Description"] .long-note summary { -webkit-line-clamp: unset; max-height: none; }
}

/* Accounting contacts and grouped record search. */
.acct .stabs { overflow-x: auto; min-width: 0; }
.acct .stagebar > .right { flex-shrink: 0; }
.acct .acct-search { position: relative; display: flex; justify-content: flex-end; padding: var(--ds-s-2) var(--ds-gutter); border-bottom: calc(var(--ds-s-1) / 4) solid var(--ds-line); background: var(--ds-surface); }
.acct .acct-search .sbox { width: calc(var(--ds-s-10) * 8); max-width: 100%; }
.acct .acct-search-results { position: absolute; right: var(--ds-gutter); top: 100%; width: calc(var(--ds-s-10) * 12); max-width: calc(100% - var(--ds-gutter) * 2); max-height: calc(var(--ds-touch-h) * 9); overflow-y: auto; background: var(--ds-surface); color: var(--ds-ink); box-shadow: var(--ds-e-pop); z-index: 30; padding: var(--ds-s-3); border-radius: var(--ds-r-md); }
.acct .acct-search-results h3 { color: var(--ds-ink-3); font-size: var(--ds-text-base); margin: var(--ds-s-3) 0 var(--ds-s-1); }
.acct .acct-search-result { display: flex; flex-direction: column; align-items: flex-start; gap: var(--ds-s-1); width: 100%; min-height: var(--ds-touch-h); border: 0; border-bottom: calc(var(--ds-s-1) / 4) solid var(--ds-line); padding: var(--ds-s-2); text-align: left; font: inherit; color: inherit; background: var(--ds-surface); cursor: pointer; }
.acct .acct-search-result:hover, .acct .acct-search-result:focus-visible { background: var(--ds-sel-bg); outline: var(--ds-s-1) solid var(--ds-focus); }
.acct .party-site { padding: var(--ds-s-3) var(--ds-s-4); border-bottom: calc(var(--ds-s-1) / 4) solid var(--ds-line); }
.acct .party-page .toolbar, .acct .pl-page .toolbar { flex-wrap: wrap; }
.acct .party-page .card { margin-bottom: var(--ds-s-4); }
@media screen and (max-width: 759px) {
  .acct .acct-search { padding: var(--ds-s-2) var(--ds-s-4); }
  .acct .acct-search .sbox { width: 100%; }
  .acct .acct-search-results { left: var(--ds-s-4); right: var(--ds-s-4); width: auto; max-width: none; }
}
.acct-print-frame { display: none; }

/* Filter rows: fields keep the width of what they hold and line up with the search box. */
.acct .toolbar:has(> .field) { align-items: flex-end; }
.acct .toolbar > .field { width: calc(var(--ds-s-10) * 4); flex: 0 0 auto; }
.acct .toolbar > .sbox { flex: 0 1 auto; }
@media (max-width: 767px) { .acct .toolbar > .field { width: 100%; flex: 1 1 100%; } }
/* Job costs: As of, From, To and Linked POs only share one filter row, like a QuickBooks report header. */
.acct .jc-filters { align-items: flex-end; }
.acct .jc-filters > .toolbar { display: contents; }
.acct .jc-filters .ck { min-height: 36px; }
@media (max-width: 767px) { .acct .jc-filters .ck { min-height: var(--ds-touch-h); } }

/* Item codes and descriptions are never cut off (roadmap 380). */
.acct .mp-items td:first-child { overflow: visible; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; }
.acct .cm-code { display: block; font-size: var(--ds-text-sm); color: var(--ds-ink-3); letter-spacing: 0.02em; overflow-wrap: anywhere; }

/* Print what's on screen (the Print button in each list header): the page as shown, with the same filters, tab, sort
   and totals, on a clean landscape page. A print-only heading names the screen, its filters and the print date.
   The phone layout is screen-only (@media screen and (max-width: 759px)), so a printed page always has the desktop
   columns: browsers judge print width from a portrait page before @page turns it landscape. */
.acct-print-head { display: none; }
@media print {
  @page { size: landscape; margin: 10mm; }
  html, body:has(.acct) { background: var(--ds-surface); }
  body:has(.acct) .wrap, body:has(.acct) .device, body:has(.acct) #app { display: block; max-width: none; height: auto; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; overflow: visible; background: var(--ds-surface); }
  body:has(.acct) #app > :not(.acct) { display: none !important; }
  body:has(.acct) .acct, body:has(.acct) .acct * { visibility: visible; }
  .acct { min-height: 0; background: var(--ds-surface); color: var(--ds-ink); font-size: var(--ds-text-base); -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .acct .stagebar, .acct .acct-phonebar, .acct .acct-phone-tabs, .acct .acct-records, .acct .stale, .acct .flash, .acct .acct-search,
  .acct .sheet-layer, .acct .discard-layer, .acct .scrim, .acct .sheet, .acct-print-frame,
  .acct .phead .acts, .acct .toolbar, .acct .page-status, .acct .chips, .acct .utabs-row, .acct .sbox, .acct .asof-filter, .acct .qfoot, .acct .btn,
  .acct .dp-rail, .acct .listframe > .lpanel, .acct .rc-nav, .acct .mp-nav, .acct .dp-bottom, .acct .needed-list { display: none !important; }
  .acct .ck, .acct .ck * { visibility: hidden !important; }   /* row checkboxes keep their column so headings line up */
  .acct .acct-print-head { display: block; margin: 0 0 6mm; padding-bottom: 3mm; border-bottom: 1px solid var(--ds-ink); }
  .acct .acct-print-head::before { content: attr(data-title); display: block; font-size: var(--ds-text-d2); font-weight: var(--ds-w-semi); color: var(--ds-ink); }
  .acct .acct-print-head::after { content: attr(data-meta); display: block; margin-top: 1mm; font-size: var(--ds-text-sm); color: var(--ds-ink-2); }
  .acct .acct-body, .acct .dp, .acct .dp-main, .acct .listframe, .acct .rc-screen { display: block; min-height: 0; height: auto; padding: 0; margin: 0; }
  .acct .acct-body *, .acct .acct-body *::before { max-height: none !important; }
  .acct .tblwrap, .acct .sheetx, .acct .il-grid, .acct .card, .acct .card-b, .acct .dp-main, .acct .listframe > * { overflow: visible !important; box-shadow: none; border-radius: 0; }
  .acct .phead, .acct .qhead, .acct thead th, .acct .tbl th, .acct .rc-panel-close { position: static !important; top: auto; }
  .acct .phead { margin: 0 0 4mm; }
  .acct .phead .crumb-line, .acct .phead h1 { display: none; }
  .acct .sumline { color: var(--ds-ink); }
  .acct table { width: 100%; border-collapse: collapse; }
  .acct thead { display: table-header-group; }
  .acct tr, .acct .qgrid { break-inside: avoid; page-break-inside: avoid; }
  .acct .tbl th, .acct .tbl td { height: auto; padding: 3px 6px; font-size: var(--ds-text-sm); line-height: 1.3; color: var(--ds-ink); box-shadow: none; border-bottom: 0.5pt solid var(--ds-line); }
  .acct .tbl th:first-child, .acct .tbl td:first-child { padding-left: 0; }
  .acct .tbl th:last-child, .acct .tbl td:last-child { padding-right: 0; }
  .acct .money, .acct td.r, .acct th.r { white-space: nowrap; text-align: right; font-variant-numeric: tabular-nums; }
  .acct .ulink { color: var(--ds-ink); text-decoration: none; }
}
.acct .acct-updating { padding: var(--ds-s-1) var(--ds-gutter); font-size: var(--ds-text-sm); color: var(--ds-ink-3); }
/* Online payments: quiet waiting states, boxed email fields and status-first lists. */
.acct .paylink-quiet, .acct .paylink-invoice-status { color: var(--ds-ink-3); font-size: var(--ds-text-sm); }
.acct .paylink-error { color: var(--ds-st-late-ink); }
.acct .paylink-status { font-weight: var(--ds-w-medium); }
.acct .paylink-invoice-status { display: block; font-weight: var(--ds-w-regular); white-space: normal; }
.acct .paylink-section { margin-top: var(--ds-s-6); padding-top: var(--ds-s-4); border-top: 1px solid var(--ds-line); }
.acct .paylink-section h3, .acct .paylink-sheet h3 { font-size: var(--ds-text-md); font-weight: var(--ds-w-semi); margin: 0 0 var(--ds-s-3); }
.acct .paylink-table td { vertical-align: top; }
.acct .paylink-table .paylink-quiet { max-width: calc(var(--ds-s-10) * 6); white-space: normal; }
.acct .paylink-link { display: flex; align-items: center; flex-wrap: wrap; gap: var(--ds-s-3); margin: var(--ds-s-4) 0; overflow-wrap: anywhere; }
.acct .paylink-link > span { user-select: all; }
.acct .paylink-send-form { display: grid; gap: var(--ds-s-4); margin: var(--ds-s-4) 0; }
.acct .paylink-send-form .field { max-width: 100%; }
.acct .paylink-confirm { margin: var(--ds-s-4) 0; padding: var(--ds-s-4) 0; border-top: 1px solid var(--ds-line); border-bottom: 1px solid var(--ds-line); }
.acct .paylink-confirm .acts { margin-top: var(--ds-s-3); }
.acct .paylink-events { list-style: none; margin: 0; padding: 0; }
.acct .paylink-events li { padding: var(--ds-s-3) 0; border-bottom: var(--ds-rule-hair) solid var(--ds-rule); }
.acct .paylink-events time { color: var(--ds-ink-3); font-size: var(--ds-text-sm); }
@media (max-width: 759px) {
  .acct .paylink-sheet .acts { display: flex; flex-wrap: wrap; gap: var(--ds-s-2); }
  .acct .paylink-sheet .btn { min-height: var(--ds-touch-h); }
  .acct .paylink-online .phead .acts { flex-wrap: wrap; }
}

/* ---------- rows of tabs and filters that scroll sideways: fade the edge that hides more (set by phoneLayout) ---------- */
.acct .acct-phone-tabs, .acct .utabs-row, .acct .chips { scrollbar-width: none; }
.acct .acct-phone-tabs::-webkit-scrollbar, .acct .utabs-row::-webkit-scrollbar, .acct .chips::-webkit-scrollbar { display: none; }
.acct [data-fade="end"] { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - var(--ds-s-10)), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - var(--ds-s-10)), transparent); }
.acct [data-fade="start"] { -webkit-mask-image: linear-gradient(90deg, transparent, #000 var(--ds-s-10)); mask-image: linear-gradient(90deg, transparent, #000 var(--ds-s-10)); }
.acct [data-fade="both"] { -webkit-mask-image: linear-gradient(90deg, transparent, #000 var(--ds-s-10), #000 calc(100% - var(--ds-s-10)), transparent); mask-image: linear-gradient(90deg, transparent, #000 var(--ds-s-10), #000 calc(100% - var(--ds-s-10)), transparent); }
@media screen and (max-width: 759px) {
  /* The fixed action bar wraps instead of running off the screen; the list keeps room for however tall it is. */
  .acct .phead .acts { flex-wrap: wrap; }
  .acct .phead .acts .btn { flex: 1 1 auto; min-width: 0; }
  .acct .listpage, .acct .dp-main > .listpage, .acct .il-frame .listpage { padding-bottom: calc(var(--acct-bar-h, 96px) + var(--ds-s-4)); }
  /* Open invoice card: Follow up sits on the status line, so the card has no empty band. */
  .acct .il-row .il-status { grid-column: 1; grid-row: 3; align-self: center; }
  .acct .il-row .il-row-actions { grid-column: 2; grid-row: 3; justify-self: end; align-self: center; }
  /* Invoice history card: two columns that flow down, Open on the status line. */
  .acct .ih-row { grid-auto-flow: row; grid-auto-columns: auto; }
  .acct .ih-row > :first-child { grid-column: 1; grid-row: 1; align-self: center; }
  .acct .ih-row > .row-acts { grid-column: 2; grid-row: 1; justify-self: end; width: auto; min-width: 0; }
  .acct .ih-row .ih-value:empty { display: none; }
}

/* Reports tab: home index and the shared report frame (screen section 95-reports). */
.acct .rp-page { min-width: 0; }
.acct .rp-page .sumline, .acct .rp-table .money { font-family: var(--ds-font); font-variant-numeric: var(--ds-nums); }
.acct .rp-page .sumline { flex-basis: 100%; order: 2; }
.acct .rp-home { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 420px)); gap: var(--ds-s-4); align-items: start; }
.acct .rp-list { list-style: none; margin: 0; padding: var(--ds-s-1) 0; }
.acct .rp-link { display: grid; gap: 2px; width: 100%; padding: var(--ds-s-3) var(--ds-s-4); text-align: left; border-radius: var(--ds-r-md); color: var(--ds-ink); }
.acct .rp-link:hover { background: var(--ds-canvas); }
.acct .rp-name { font-weight: var(--ds-w-semi); }
.acct .rp-desc { color: var(--ds-ink-3); font-size: var(--ds-text-sm); }
.acct .rp-tools { align-items: flex-end; }
.acct .rp-tools .field { min-width: 150px; }
.acct .rp-tools .rp-compare { min-width: 230px; }
.acct .rp-table { background: var(--ds-surface); }
.acct .rp-table td { white-space: nowrap; }
.acct .rp-wrap.rp-narrow { width: fit-content; max-width: 100%; }
.acct .rp-wrap.rp-narrow .rp-table { min-width: min(100%, 640px); }
.acct .rp-wrap.rp-narrow .rp-table th, .acct .rp-wrap.rp-narrow .rp-table td { padding-left: var(--ds-s-6); }
/* Long column names wrap (QuickBooks-style two-line headers) so a wide comparison fits the page instead of scrolling. */
.acct .rp-table th { white-space: normal; height: auto; min-height: 36px; padding-top: var(--ds-s-2); padding-bottom: var(--ds-s-2); vertical-align: bottom; }
.acct .rp-table .rp-first { width: 1%; padding-right: var(--ds-s-6); }
.acct .rp-table tfoot td { font-weight: var(--ds-w-semi); box-shadow: inset 0 1px 0 var(--ds-field); }
.acct .rp-ties { margin: var(--ds-s-3) 0 0; color: var(--ds-ink-3); font-size: var(--ds-text-sm); }
.acct .rp-table .rp-sub { display: inline-block; padding-left: var(--ds-s-4); color: var(--ds-ink-2); }
.acct .rp-table .rp-rank { display: inline-block; min-width: 2.5em; color: var(--ds-ink-3); font-variant-numeric: var(--ds-nums); }
.acct .rp-tools .rp-show { min-width: 180px; }
.acct .rp-table td.rp-wrap-text { white-space: normal; min-width: 180px; max-width: 360px; }
.acct .rp-section { margin-top: var(--ds-s-6); }
/* Roadmap 493: data freshness light and "Data as of" lines. */
.acct .rp-fresh { display: flex; align-items: center; gap: var(--ds-s-2); margin: 0 0 var(--ds-s-3); color: var(--ds-ink-2); font-size: var(--ds-text-sm); }
.acct .rp-asof { display: inline-flex; align-items: baseline; gap: var(--ds-s-2); color: var(--ds-ink-3); font-size: var(--ds-text-sm); }
.acct .rp-light { flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--ds-ok); align-self: center; }
.acct .rp-asof .rp-light { align-self: flex-start; margin-top: 4px; }
.acct .rp-light.late { background: var(--ds-bad); }
.acct .rp-tools .rp-filter { min-width: 200px; }
.acct .rp-tools .rp-search { min-width: 220px; }
.acct .rp-section-title { margin: 0 0 var(--ds-s-2); font-size: var(--ds-text-md); font-weight: var(--ds-w-semi); color: var(--ds-ink); }
.acct .rp-table tr.rp-heading td, .acct .rp-table tr.rp-subtotal td, .acct .rp-table tr.rp-total td { font-weight: var(--ds-w-semi); }
.acct .rp-table tr.rp-subtotal td, .acct .rp-table tr.rp-total td { box-shadow: inset 0 1px 0 var(--ds-field); }
.acct .rp-d1 { padding-left: 1.25em; } .acct .rp-d2 { padding-left: 2.5em; } .acct .rp-d3 { padding-left: 3.75em; }
.acct .rp-d4, .acct .rp-d5, .acct .rp-d6 { padding-left: 5em; }
.acct .rp-d1, .acct .rp-d2, .acct .rp-d3, .acct .rp-d4, .acct .rp-d5, .acct .rp-d6 { display: inline-block; }
@media screen and (max-width: 759px) {
  .acct .rp-home { grid-template-columns: 1fr; }
  .acct .rp-tools .field { min-width: 0; flex: 1 1 140px; }
  .acct .rp-tools .rp-compare { min-width: 0; flex-basis: 100%; }
  .acct .rp-page .phead .acts [data-a="rp-export"] { display: inline-flex; }
  .acct .rp-table th, .acct .rp-table td { white-space: normal; }
  .acct .rp-table .rp-first { width: auto; padding-right: 0; font-weight: var(--ds-w-semi); }
  .acct .rp-table.cards tfoot, .acct .rp-table.cards tfoot tr { display: block; width: 100%; }
  .acct .rp-table.cards tfoot tr { padding: var(--ds-s-3) var(--ds-s-4); }
  .acct .rp-table.cards tfoot td { display: flex; justify-content: space-between; gap: var(--ds-s-3); padding: 2px 0; box-shadow: none; text-align: right; }
}
