.ab-page{max-width:1340px}
.ab-seg{display:inline-flex;margin:0 0 16px;border:1px solid var(--line-2);border-radius:var(--r-action);overflow:hidden;background:var(--panel)}
.ab-seg button{border:0;background:none;padding:7px 14px;min-height:34px;font:600 13px var(--sans);color:var(--muted);cursor:pointer}
.ab-seg button+button{border-left:1px solid var(--line-2)}
.ab-seg button.on{background:var(--navy);color:#fff}
:root[data-theme="dark"] .ab-seg button.on{color:#131e2d}
@media (hover:hover) and (pointer:fine){.ab-seg button:not(.on):hover{color:var(--ink)}}
.ab-seg button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
.ab-bar{display:flex;align-items:flex-end;gap:12px;margin:0 0 16px}
.ab-bar-end{justify-content:flex-end}
.ab-month{width:min(300px,100%)}
.ab-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.st-card strong.ab-counts{display:grid;gap:2px;margin-bottom:6px;font-size:14px;line-height:1.35;letter-spacing:0;font-weight:600}
.ab-table td,.ab-table th{padding-left:12px;padding-right:12px}
.ab-table .src+.st-flag{margin:0 0 0 8px}
.ab-table .st-flag{margin-top:0;white-space:nowrap}
.ab-table .st-flag.ab-note{display:block;width:260px;max-width:100%;margin-top:6px;border-radius:var(--r-action);padding:3px 8px;white-space:normal}
@media (min-width:781px){.ab-accounts{min-width:1180px}.ab-accounts td{white-space:nowrap}}
.ab-table code{font:12px var(--mono);white-space:nowrap}
.ab-num{font-variant-numeric:tabular-nums;white-space:nowrap}
.ab-drawer h3{font:600 13px/1.3 var(--display);margin:22px 0 8px;color:var(--ink-2)}
.ab-drawer code{font:12px var(--mono)}
.ab-form{display:grid;gap:14px}
.ab-form .fine{display:block}
.ab-invoice{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0;padding:10px 12px;background:var(--panel-2);border-radius:var(--r-action);font-weight:600;color:var(--ink-2)}
.ab-invoice b{font-size:18px;font-weight:650;color:var(--ink);font-variant-numeric:tabular-nums}
.ab-reopen{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.ab-reopen summary{cursor:pointer;font-weight:600;font-size:13px;color:var(--ink-2)}
.ab-reopen form{display:grid;gap:10px;margin-top:10px;justify-items:start}
.ab-reopen .field{width:100%}
@media (max-width:1000px){.ab-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:780px){.ab-num{white-space:normal}.ab-seg button{min-height:44px}.ab-table code{white-space:normal}}
