.accountingWorkspace {
  --ac-ink:#17191d; --ac-copy:#626874; --ac-muted:#8a909b; --ac-line:#e4e7ec;
  --ac-green:#177c55; --ac-green-soft:#edf7f2; --ac-red:#c33743; --ac-red-soft:#fff2f2;
  box-sizing:border-box; width:100%; min-width:0; margin:0 auto; padding:0;
  color:var(--ac-ink); font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:14px; line-height:1.45; font-variant-numeric:tabular-nums;
}
.accountingWorkspace *, .accountingWorkspace *::before, .accountingWorkspace *::after { box-sizing:border-box; }
.accountingWorkspace button,.accountingWorkspace input,.accountingWorkspace select,.accountingWorkspace textarea { font-family:inherit; }
.accountingWorkspace button { -webkit-tap-highlight-color:transparent; cursor:pointer; }
.accountingWorkspace button:disabled { cursor:default; opacity:.4; }
.accountingWorkspace button:focus-visible,.accountingWorkspace input:focus-visible,.accountingWorkspace textarea:focus-visible,.accountingWorkspace select:focus-visible,.accountingRawScroll:focus-visible { outline:3px solid #3683d9; outline-offset:3px; }
.accountingWorkspace svg { flex-shrink:0; }
.accountingHeader { margin-bottom:25px; }
.accountingEyebrow { color:var(--ac-muted); font-size:10px; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
.accountingHeader h1 { margin:6px 0 7px; font-size:42px; font-weight:760; letter-spacing:-.06em; line-height:1.1; }
.accountingHeader p { margin:0; color:var(--ac-copy); font-size:14px; }
.accountingTabs { display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:6px; border:1px solid var(--ac-line); border-radius:20px; background:#eceef1; }
.accountingTabs button { display:flex; min-width:0; min-height:67px; align-items:center; justify-content:center; gap:12px; border:1px solid transparent; border-radius:15px; color:var(--ac-copy); background:transparent; font-size:18px; font-weight:720; transition:background .18s ease,color .18s ease,box-shadow .18s ease; }
.accountingTabs button:hover { background:rgba(255,255,255,.5); }
.accountingTabs button.is-active { border-color:#fff; color:var(--ac-ink); background:#fff; box-shadow:0 3px 10px rgba(20,25,35,.07); }
.accountingMonthBar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; margin-bottom:20px; }
.accountingMonthPicker,.accountingMonthMeta { display:flex; align-items:center; gap:9px; min-width:0; }
.accountingMonthPicker label { min-width:0; }
.accountingMonthPicker select { max-width:100%; min-height:44px; padding:8px 30px 8px 6px; border:0; border-radius:9px; color:var(--ac-ink); background-color:transparent; font-size:23px; font-weight:720; letter-spacing:-.04em; cursor:pointer; }
.accountingIconButton { display:inline-flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; min-width:44px; min-height:44px; padding:0; border:1px solid var(--ac-line); border-radius:12px; color:var(--ac-copy); background:#fff; }
.accountingIconButton:hover:not(:disabled) { border-color:#c7cdd6; color:var(--ac-ink); background:#f7f8fa; }
.accountingSave { display:inline-flex; align-items:center; gap:6px; color:var(--ac-green); font-size:12px; font-weight:580; }
.accountingSave.is-error { color:var(--ac-red); }
.accountingSummary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0 0 22px; }
.accountingSummaryCard { min-width:0; padding:21px 23px 17px; border:1px solid var(--ac-line); border-radius:21px; background:#fff; }
.accountingSummaryCard header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.accountingSummaryCard header>span:first-child { display:flex; align-items:center; gap:9px; font-size:13px; font-weight:690; }
.accountingSummaryCard.income svg { color:var(--ac-green); }.accountingSummaryCard.expense svg { color:var(--ac-red); }
.accountingTag { padding:4px 7px; border-radius:7px; color:var(--ac-copy); background:#f1f3f6; font-size:10px; font-weight:650; }
.accountingSummaryCard>strong { display:block; margin:21px 0 19px; font-size:clamp(24px,2.7vw,36px); line-height:1.1; letter-spacing:-.055em; overflow-wrap:anywhere; }
.accountingSummaryCard.net { background:#f6f8fa; border-color:#dce2e8; }
.accountingActual { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px; padding-top:12px; border-top:1px solid var(--ac-line); font-size:12px; }
.accountingActual>span { color:var(--ac-copy); }.accountingActual b { font-weight:650; }
.accountingSummaryCard p { margin:8px 0 0; color:var(--ac-muted); font-size:10px; }
.accountingProjection { margin-bottom:23px; padding:22px; border:1px solid var(--ac-line); border-radius:22px; background:#fff; }
.accountingProjection>header,.accountingDefaults>header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; }
.accountingBudget h2 { margin:0; font-size:20px; font-weight:720; line-height:1.25; letter-spacing:-.035em; }
.accountingProjection header p,.accountingDefaults header p { margin:5px 0 0; color:var(--ac-copy); font-size:12px; }
.accountingYearNav { display:flex; justify-content:flex-end; gap:6px; margin:0 0 12px; }.accountingYearNav .accountingIconButton { border-color:transparent; background:#f5f6f8; }
.accountingProjection.is-collapsed>header { margin-bottom:0; }.accountingProjection>header>.accountingButton { flex-shrink:0; }
.accountingYearForm { display:flex; align-items:flex-end; flex-wrap:wrap; gap:10px; margin-bottom:18px; padding:14px; border:1px solid var(--ac-line); border-radius:12px; background:#f8fafc; }.accountingYearForm label { min-width:0; flex:1; }.accountingYearForm label span { display:block; margin-bottom:5px; color:var(--ac-copy); font-size:11px; }.accountingYearForm input { width:100%; min-width:0; min-height:44px; padding:10px; border:1px solid var(--ac-line); border-radius:9px; background:#fff; font-size:16px; }.accountingYearForm p { flex-basis:100%; margin:0; color:var(--ac-copy); font-size:11px; }
.accountingMonths { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }
.accountingWorkspace .accountingMonth { display:flex; flex-direction:column; min-width:0; min-height:91px; padding:11px 12px; gap:6px; border:1px solid #e9ecf0; border-radius:12px; color:var(--ac-ink); background:#f9fafb; text-align:left; transition:border-color .18s ease,background .18s ease; }
.accountingMonth>span { color:var(--ac-copy); font-size:11px; font-weight:650; }
.accountingMonth>strong { font-size:14px; letter-spacing:-.025em; overflow-wrap:anywhere; }
.accountingMonth>small { color:var(--ac-muted); font-size:10px; overflow-wrap:anywhere; }
.accountingMonth:hover { border-color:#c4ccd7; background:#f4f6f8; }
.accountingMonth.is-selected { border-color:#a8b6c9; background:#edf2f8; box-shadow:inset 0 0 0 1px #b5c3d5; }
.accountingMonth.is-selected>span { color:#244b77; }.accountingMonth.is-negative>strong,.accountingWorkspace strong.is-negative { color:var(--ac-red); }
.accountingFootnote { margin:14px 0 0; color:var(--ac-muted); font-size:11px; line-height:1.55; }
.accountingLedger { overflow:hidden; min-width:0; margin-bottom:20px; border:1px solid var(--ac-line); border-radius:22px; background:#fff; }
.accountingLedger>header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:15px; padding:25px 23px 20px; }
.accountingLedger h2 { margin-top:5px; font-size:26px; }.accountingLedger header p { margin:5px 0 0; color:var(--ac-copy); font-size:12px; }
.accountingButton,.accountingNoticeActions button { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:10px 15px; border:1px solid #262b33; border-radius:11px; color:#fff; background:#262b33; font-size:12px; font-weight:680; line-height:1.35; }
.accountingButton:hover:not(:disabled) { background:#3a404a; }.accountingButton.quiet { border-color:var(--ac-line); color:var(--ac-copy); background:#fff; }
.accountingButton.quiet:hover:not(:disabled) { border-color:#c7cdd6; background:#f7f8fa; }
.accountingTableHead,.accountingRowGrid { display:grid; grid-template-columns:minmax(160px,1.6fr) minmax(100px,1fr) minmax(100px,1fr) minmax(95px,.8fr) 44px; gap:13px; align-items:start; }
.accountingTableHead { padding:11px 23px; border-top:1px solid #f0f1f4; border-bottom:1px solid #e9ecf0; color:var(--ac-muted); background:#fafbfc; font-size:10px; font-weight:700; }
.accountingTableHead span:nth-child(n+2) { text-align:right; }
.accountingRow { border-bottom:1px solid #edf0f3; }.accountingRow:last-child { border-bottom:0; }
.accountingRowGrid { padding:12px 23px; align-items:center; }
.accountingField { display:block; min-width:0; }
.accountingFieldLabel { display:block; margin:0 0 6px; color:var(--ac-copy); font-size:11px; font-weight:600; }
.accountingRowGrid .accountingFieldLabel { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.accountingField input,.accountingField textarea { width:100%; min-width:0; min-height:44px; padding:10px; border:1px solid transparent; border-radius:9px; color:var(--ac-ink); background:transparent; font-size:14px; line-height:1.4; }
.accountingField input:hover,.accountingField textarea:hover { border-color:#e4e8ee; background:#fafbfc; }
.accountingField input:focus,.accountingField textarea:focus { border-color:#a0b2ca; background:#fff; }
.accountingField input::placeholder,.accountingField textarea::placeholder { color:#9aA1ac; }
.accountingField.is-money input { text-align:right; font-variant-numeric:tabular-nums; }
.accountingField.is-name input { font-weight:640; }
.accountingField input[aria-invalid="true"],.accountingField textarea[aria-invalid="true"] { border-color:#d56a72; background:#fff6f5; }
.accountingField [data-ac-field-error]:empty { display:none; }
.accountingField [data-ac-field-error] { display:block; padding:5px 2px 0; color:var(--ac-red); font-size:11px; line-height:1.35; }
.accountingDifference { min-width:0; padding:11px 0; color:var(--ac-copy); text-align:right; }
.accountingDifference span { display:none; }.accountingDifference strong { font-size:13px; font-weight:580; overflow-wrap:anywhere; }
.accountingDifference.is-positive { color:var(--ac-green); }.accountingDifference.is-negative { color:var(--ac-red); }
.accountingNotesButton { border-color:transparent; color:#939ba7; }.accountingNotesButton.has-note { color:#51739b; background:#f0f5fb; }
.accountingRowDetails { display:grid; grid-template-columns:1fr 1fr; gap:15px; padding:6px 23px 18px; background:#fcfcfd; }
.accountingRowDetails textarea { min-height:80px; resize:vertical; border-color:var(--ac-line); background:#fff; }
.accountingSourceHint { grid-column:1/-1; margin:0; color:var(--ac-muted); font-size:10px; }
.accountingAddRow { display:flex; align-items:flex-start; gap:12px; margin:0; padding:19px 23px; border-top:1px solid #edf0f3; }
.accountingAddRow>label { flex:1; min-width:0; }.accountingAddRow input { width:100%; min-height:44px; min-width:0; padding:10px 12px; border:1px solid var(--ac-line); border-radius:11px; color:var(--ac-ink); background:#fafbfc; font-size:14px; }
.accountingLedger footer { padding:0 23px 18px; }.accountingLedger footer p { margin:3px 0 0; color:var(--ac-muted); font-size:10px; line-height:1.5; }
.accountingDefaults { margin:0 0 22px; padding:23px; border:1px solid #d5dfeb; border-radius:21px; background:#f8fafc; }
.accountingDefaultsRows { display:grid; grid-template-columns:1fr 1fr; gap:0 25px; }
.accountingDefaultsRows>div { display:grid; grid-template-columns:minmax(90px,1fr) minmax(100px,.7fr); align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid #e5eaf0; }
.accountingDefaultsRows>div>span { font-size:12px; overflow-wrap:anywhere; }.accountingDefaultsRows .accountingFieldLabel { font-size:10px; }.accountingDefaultsRows input { border-color:var(--ac-line); background:#fff; }
.accountingDefaultApply { display:flex; align-items:center; justify-content:space-between; gap:15px; flex-wrap:wrap; padding-top:20px; }.accountingDefaultApply strong { font-size:13px; }.accountingDefaultApply p { margin:5px 0 0; color:var(--ac-copy); font-size:11px; }
.accountingSource { min-width:0; border:1px solid var(--ac-line); border-radius:18px; background:rgba(255,255,255,.6); }
.accountingSourceToggle { display:flex; width:100%; min-width:0; align-items:center; justify-content:space-between; gap:14px; padding:18px 21px; border:0; border-radius:18px; color:var(--ac-copy); background:transparent; text-align:left; }
.accountingSourceToggle>span { display:flex; align-items:center; gap:10px; min-width:0; }.accountingSourceToggle>span:last-child { flex-shrink:0; font-size:12px; }.accountingSourceToggle strong { display:block; color:var(--ac-ink); font-size:13px; }.accountingSourceToggle small { display:block; margin-top:3px; color:var(--ac-muted); font-size:11px; overflow-wrap:anywhere; }
.accountingSourceBody { min-width:0; padding:0 21px 22px; }.accountingSourceBody>p { color:var(--ac-copy); font-size:12px; }.accountingSourceBody h3 { font-size:14px; }.accountingIssues { margin:10px 0 23px; padding:0; list-style:none; }.accountingIssues li { padding:10px 12px; border-left:3px solid #d8b76e; background:#fdfaf2; }.accountingIssues li+li { margin-top:7px; }.accountingIssues strong { font-size:12px; font-weight:550; }.accountingIssues small { display:block; margin-top:4px; color:var(--ac-copy); font-size:10px; }
.accountingImportWarning { display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin:0 0 18px; padding:10px 13px; border:1px solid #eee1c2; border-radius:12px; color:#82642d; background:#fffbf0; }.accountingImportWarning p { flex:1 1 250px; min-width:0; margin:0; font-size:11px; line-height:1.5; }.accountingImportWarning button { min-height:44px; padding:8px 10px; border:0; border-radius:8px; color:#6e5325; background:rgba(160,125,50,.07); font-size:11px; font-weight:650; }.accountingImportTotals { max-width:620px; margin:17px 0 23px; padding:15px; border:1px solid var(--ac-line); border-radius:12px; background:#fff; }.accountingImportTotals h3 { margin:0; }.accountingImportTotals>p { margin:5px 0 12px; color:var(--ac-copy); font-size:11px; }.accountingImportTotalHead,.accountingImportTotalRow { display:grid; grid-template-columns:minmax(60px,.8fr) 1fr 1fr; gap:8px; align-items:center; text-align:right; }.accountingImportTotalHead { color:var(--ac-muted); font-size:10px; }.accountingImportTotalRow { padding:9px 0; border-bottom:1px solid #edf0f3; font-size:12px; }.accountingImportTotalRow strong { text-align:left; font-size:11px; font-weight:600; }.accountingImportTotalRow span { overflow-wrap:anywhere; }
.accountingSourceActions { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; }.accountingRawScroll { max-width:100%; max-height:380px; overflow:auto; border:1px solid var(--ac-line); border-radius:12px; background:#fff; }.accountingRawScroll table { width:max-content; min-width:100%; border-collapse:collapse; font-size:11px; }.accountingRawScroll td,.accountingRawScroll th { max-width:300px; padding:8px 12px; border:1px solid #eceef2; text-align:left; white-space:pre-wrap; overflow-wrap:anywhere; }.accountingRawScroll th { position:sticky; left:0; min-width:35px; color:var(--ac-muted); background:#f6f7f9; font-weight:500; }
.accountingNotice { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:13px; margin-bottom:18px; padding:17px 18px; border:1px solid #d2e6dc; border-radius:15px; color:#235c43; background:#f2f9f5; }
.accountingNotice>div:first-child { display:flex; align-items:flex-start; gap:10px; min-width:0; flex:1 1 300px; }.accountingNotice strong { font-size:13px; }.accountingNotice p { margin:3px 0; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }.accountingNotice.is-error { border-color:#efcdd0; color:#89313a; background:#fff6f6; }.accountingNoticeActions { display:flex; flex-wrap:wrap; gap:7px; }.accountingNoticeActions button { border-color:#d4d9e0; color:#303640; background:#fff; }
.accountingLoading,.accountingEmpty { display:flex; min-height:250px; align-items:center; justify-content:center; flex-direction:column; gap:12px; padding:35px 22px; border:1px solid var(--ac-line); border-radius:22px; background:#fff; text-align:center; }.accountingLoading>svg { color:var(--ac-muted); }.accountingLoading p,.accountingEmpty p { max-width:480px; margin:0; color:var(--ac-copy); font-size:13px; }.accountingLoading h2,.accountingEmpty h3 { margin:0; }.accountingEmpty { min-height:180px; border:0; border-radius:0; }.accountingSpinner { width:23px; height:23px; border:2px solid #e2e6eb; border-top-color:#556a84; border-radius:50%; animation:accountingSpin .8s linear infinite; }
.accountingVisuallyHidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important; }
.accountingRevenue { min-width:0; }
@keyframes accountingSpin { to { transform:rotate(360deg); } }
@media(min-width:1350px) { .accountingMonths { grid-template-columns:repeat(12,minmax(0,1fr)); }.accountingWorkspace .accountingMonth { padding:11px 8px; }.accountingMonth>strong { font-size:12px; }.accountingMonth>small { font-size:9px; } }
@media(max-width:1050px) { .accountingWorkspace { padding:28px 22px 60px; }.accountingIncomeSwitch p { flex-basis:100%; margin:7px 0 0; padding:0; }.accountingTableHead,.accountingRowGrid { grid-template-columns:minmax(140px,1.2fr) minmax(95px,1fr) minmax(95px,1fr) minmax(75px,.7fr) 44px; gap:8px; }.accountingSummaryCard { padding:19px 16px 16px; }.accountingLedger>header,.accountingRowGrid,.accountingTableHead { padding-left:18px; padding-right:18px; } }
@media(max-width:767px) {
  .accountingWorkspace { width:100%; padding:23px 14px 36px; }.accountingHeader { margin-bottom:20px; }.accountingHeader h1 { font-size:35px; }.accountingHeader p { font-size:12px; }
  .accountingTabs { border-radius:16px; padding:5px; gap:5px; }.accountingTabs button { min-height:60px; gap:9px; font-size:16px; border-radius:12px; }
  .accountingIncomeSwitch { margin:14px 0 24px; }.accountingIncomeSwitch button { padding:9px 13px; }.accountingIncomeSwitch p { font-size:11px; }.accountingSectionHint { margin:22px 0 24px; font-size:12px; }
  .accountingMonthBar { gap:12px; }.accountingMonthPicker { width:100%; gap:5px; }.accountingMonthPicker label { flex:1; text-align:center; }.accountingMonthPicker select { width:100%; padding-left:5px; padding-right:22px; font-size:20px; }.accountingMonthMeta { width:100%; justify-content:space-between; }.accountingMonthMeta .accountingIconButton { min-height:44px; }
  .accountingSummary { grid-template-columns:1fr 1fr; gap:10px; margin-bottom:16px; }.accountingSummaryCard { padding:15px 13px; border-radius:17px; }.accountingSummaryCard header>span:first-child { gap:6px; font-size:12px; }.accountingSummaryCard header { gap:5px; }.accountingTag { padding:3px 5px; font-size:9px; }.accountingSummaryCard>strong { margin:16px 0 14px; font-size:26px; }.accountingActual { font-size:10px; gap:4px; }.accountingSummaryCard p { font-size:9px; }.accountingSummaryCard.net { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:9px 16px; }.accountingSummaryCard.net header { grid-column:1/-1; }.accountingSummaryCard.net>strong { margin:4px 0 2px; font-size:29px; }.accountingSummaryCard.net .accountingActual { padding:4px 0 0; border:0; align-content:center; flex-direction:column; justify-content:center; gap:3px; }.accountingSummaryCard.net .accountingActual b { font-size:15px; }.accountingSummaryCard.net p { grid-column:1/-1; margin:0; }
  .accountingProjection { padding:17px 14px; border-radius:18px; margin-bottom:18px; }.accountingProjection>header { align-items:flex-start; gap:6px; margin-bottom:14px; }.accountingBudget h2 { font-size:19px; }.accountingProjection header p { max-width:200px; font-size:10px; }.accountingYearNav { gap:2px; }.accountingYearNav .accountingIconButton { width:44px; flex-basis:44px; }.accountingMonths { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }.accountingWorkspace .accountingMonth { padding:10px 8px; min-height:86px; }.accountingMonth>strong { font-size:13px; }.accountingMonth>small { font-size:9px; }.accountingFootnote { font-size:10px; }
  .accountingLedger { border-radius:18px; }.accountingLedger>header { padding:19px 16px 16px; align-items:flex-start; gap:12px; }.accountingLedger h2 { font-size:25px; }.accountingLedger header p { font-size:11px; }.accountingLedger header .accountingButton { min-height:44px; font-size:11px; }.accountingTableHead { display:none; }.accountingRows { padding:0 12px; }.accountingRow { margin:0 0 10px; border:1px solid #e8ebf0; border-radius:14px; background:#fff; }.accountingRow:last-child { border-bottom:1px solid #e8ebf0; }.accountingRowGrid { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px; gap:9px 7px; padding:11px; }.accountingRowGrid .is-name { grid-column:1/3; grid-row:1; }.accountingRowGrid .is-name input { padding-left:3px; }.accountingNotesButton { grid-column:3; grid-row:1; }.accountingRowGrid .is-money { grid-row:2; }.accountingRowGrid .is-money:nth-of-type(3) { grid-column:2/4; }.accountingRowGrid .accountingFieldLabel { position:static; width:auto; height:auto; overflow:visible; clip-path:none; white-space:normal; margin:0 0 4px; padding-left:1px; font-size:10px; }.accountingRowGrid .is-name .accountingFieldLabel { display:none; }.accountingField input,.accountingField textarea { font-size:16px; min-height:46px; padding:10px 8px; }.accountingField.is-money input { text-align:left; border-color:var(--ac-line); background:#fafbfc; }.accountingDifference { grid-column:1/-1; display:flex; justify-content:space-between; gap:10px; padding:2px 1px 1px; }.accountingDifference span { display:block; color:var(--ac-muted); font-size:10px; }.accountingDifference strong { font-size:12px; }.accountingRowDetails { grid-template-columns:1fr; padding:7px 12px 13px; gap:12px; border-radius:0 0 14px 14px; }.accountingFieldLabel { font-size:11px; }.accountingField [data-ac-field-error] { font-size:10px; }
  .accountingAddRow { padding:15px 13px; gap:7px; }.accountingAddRow input { padding:10px; font-size:16px; }.accountingAddRow .accountingButton { padding:10px 11px; }.accountingAddKind { display:none; }.accountingLedger footer { padding:0 14px 16px; }.accountingLedger footer p { font-size:10px; }
  .accountingDefaults { padding:18px 14px; border-radius:18px; }.accountingDefaults>header { align-items:flex-start; }.accountingDefaults header p { font-size:11px; }.accountingDefaultsRows { grid-template-columns:1fr; }.accountingDefaultsRows>div { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }.accountingDefaultsRows input { text-align:left; }.accountingDefaultApply { gap:12px; }.accountingDefaultApply>button { width:100%; }.accountingDefaultApply .accountingNoticeActions { width:100%; }.accountingDefaultApply .accountingNoticeActions button { flex:1; }
  .accountingSourceToggle { padding:16px 13px; gap:8px; }.accountingSourceToggle>span:first-child { gap:8px; }.accountingSourceToggle strong { font-size:12px; }.accountingSourceToggle small { font-size:10px; }.accountingSourceToggle>span:last-child { gap:2px; font-size:11px; }.accountingSourceBody { padding:0 13px 16px; }.accountingSourceBody>p { font-size:11px; }.accountingSourceActions .accountingButton { padding:9px 10px; font-size:11px; }.accountingRawScroll { max-height:300px; }.accountingNotice { padding:14px; }.accountingNotice>div:first-child { flex-basis:100%; }.accountingNoticeActions button { font-size:11px; }.accountingLoading { padding:28px 16px; }
  .accountingPayments .revenueMobile { padding:0; }.accountingPayments .revenueMobileAdd { margin-top:0; }
}
@media(max-width:359px) { .accountingWorkspace { padding-left:10px; padding-right:10px; }.accountingSummaryCard { padding:13px 11px; }.accountingSummaryCard>strong { font-size:23px; }.accountingSummaryCard header { align-items:flex-start; }.accountingMonthPicker select { font-size:18px; }.accountingProjection { padding:15px 11px; }.accountingProjection>header { flex-wrap:wrap; }.accountingProjection header p { max-width:none; }.accountingYearNav { margin-left:auto; }.accountingMonths { grid-template-columns:repeat(3,minmax(0,1fr)); }.accountingMonth>strong { font-size:12px; }.accountingSourceToggle>span:last-child { font-size:0; }.accountingSourceToggle>span:last-child svg { width:18px; } }
@media(prefers-reduced-motion:reduce) { .accountingWorkspace * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* Revenue is the original workspace. Budget is a separate, combined planner. */
.accountingWorkspace { width:100%; padding:0; }
.accountingTopBar { width:min(100%,1560px); margin:0 auto; padding:24px 34px 0; }
.accountingWorkspaceLabel { display:block; margin:0 0 12px; color:#676c77; font-size:13px; font-weight:700; letter-spacing:.02em; }
.accountingTabs { background:#e9ebef; border-color:#e1e4e9; border-radius:22px; }
.accountingTabs button { justify-content:flex-start; min-height:78px; padding:13px 22px; gap:14px; text-align:left; }
.accountingTabs button strong { display:block; font-size:18px; line-height:1.25; letter-spacing:-.025em; }
.accountingTabs button small { display:block; margin-top:4px; color:#737985; font-size:12px; font-weight:450; }
.accountingTabIcon { display:grid; flex-shrink:0; width:43px; height:43px; place-items:center; border-radius:13px; background:rgba(255,255,255,.6); color:#747c8a; }
.accountingTabs [data-ac-view="revenue"].is-active { border-color:#f4cece; background:#fff; }
.accountingTabs [data-ac-view="revenue"].is-active .accountingTabIcon { background:#ffeded; color:#d7212a; }
.accountingTabs [data-ac-view="budget"].is-active { border-color:#cccff1; background:#fff; }
.accountingTabs [data-ac-view="budget"].is-active .accountingTabIcon { background:#eeedff; color:#6552c7; }
.accountingBudget { width:min(100%,1560px); margin:0 auto; padding:28px 34px 72px; }
.accountingPresence { display:flex; align-items:center; flex-wrap:wrap; gap:10px 20px; margin:0 0 22px; min-width:0; }
.accountingLiveStatus { display:inline-flex; align-items:center; gap:7px; color:#777582; font-size:11px; font-weight:550; }
.accountingLiveStatus i { width:7px; height:7px; border-radius:50%; background:#b39246; }
.accountingLiveStatus.is-connected { color:#347359; }.accountingLiveStatus.is-connected i { background:#27a66d; box-shadow:0 0 0 3px #e6f6ed; }
.accountingPeers { display:flex; flex-wrap:wrap; align-items:center; gap:7px; min-width:0; }
.accountingPeer,.accountingField { --peer-color:#306ac7; }
[data-ac-peer-color="1"] { --peer-color:#8052bc; }[data-ac-peer-color="2"] { --peer-color:#147968; }[data-ac-peer-color="3"] { --peer-color:#b64b77; }
[data-ac-peer-color="4"] { --peer-color:#a66516; }[data-ac-peer-color="5"] { --peer-color:#44753b; }[data-ac-peer-color="6"] { --peer-color:#a14e37; }[data-ac-peer-color="7"] { --peer-color:#4261a8; }
.accountingPeer { display:flex; align-items:center; gap:7px; min-width:0; max-width:280px; padding:6px 9px 6px 6px; border:1px solid #e5e8ef; border-radius:12px; background:#fff; color:#343945; }
.accountingPeer>b { display:grid; place-items:center; flex:0 0 27px; height:27px; border-radius:9px; background:var(--peer-color); color:white; font-size:12px; }
.accountingPeer>span { min-width:0; font-size:11px; font-weight:650; line-height:1.3; overflow-wrap:anywhere; }.accountingPeer small { display:block; max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#747b86; font-size:9px; font-weight:450; }
.accountingPeer.is-self { background:#f7f8fa; }.accountingPeer.is-self>b { background:#77808d; }
.accountingField { position:relative; }
.accountingField.is-peer-active input,.accountingField.is-peer-active textarea { outline:2px solid var(--peer-color); outline-offset:1px; }
.accountingPeerLabel { position:absolute; z-index:2; top:-11px; right:0; display:block; max-width:100%; padding:2px 5px; border-radius:4px 4px 0 4px; background:var(--peer-color); color:#fff; font-size:9px; font-weight:650; line-height:1.35; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; pointer-events:none; }
@media(max-width:767px) { .accountingPresence { gap:9px; margin-bottom:19px; }.accountingLiveStatus { flex-basis:100%; }.accountingPeers { width:100%; }.accountingPeer { max-width:100%; }.accountingPeer small { max-width:210px; }.accountingPeerLabel { top:0; max-width:calc(100% - 2px); }.accountingField.is-name .accountingPeerLabel { top:-11px; } }
.accountingBudgetHeader { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:25px; }
.accountingBudgetHeader h1 { margin:0; font-size:34px; font-weight:760; letter-spacing:-.055em; line-height:1.15; }
.accountingBudgetHeader p { margin:7px 0 0; color:var(--ac-copy); font-size:13px; }
.accountingBudgetBadge { display:flex; align-items:center; gap:8px; padding:9px 12px; border-radius:12px; background:#eeeafd; color:#6550ab; font-size:12px; font-weight:600; }
.accountingSummaryCard.income { background:linear-gradient(130deg,#effaf4,#fff); border-color:#cce7d8; }
.accountingSummaryCard.expense { background:linear-gradient(130deg,#f4efff,#fff); border-color:#e0d5f4; }
.accountingSummaryCard.expense svg { color:#7551b9; }
.accountingSummaryCard.net { background:linear-gradient(130deg,#edf4ff,#fff); border-color:#cddff7; }
.accountingSummaryCard.net svg { color:#286cba; }
.accountingSummaryCard .accountingTag { background:rgba(255,255,255,.8); }
.accountingSummaryCard p { color:#707887; }
.accountingMonth.is-selected { border-color:#7c74c6; background:#eeecfc; box-shadow:inset 0 0 0 1px #aaa2e0; }
.accountingMonth.is-selected>span { color:#5748a5; }
.accountingBudgetGuide { display:flex; align-items:center; flex-wrap:wrap; gap:10px 20px; margin:24px 0 14px; color:#626b79; font-size:11px; }
.accountingBudgetGuide>span { display:flex; align-items:center; gap:7px; }
.accountingBudgetGuide i { width:9px; height:9px; border-radius:3px; }
.accountingBudgetGuide .planned { background:#6b85ce; }.accountingBudgetGuide .actual { background:#42a77c; }
.accountingBudgetGuide p { margin:0 0 0 auto; }
.accountingCombinedLedgers { display:grid; grid-template-columns:1fr; align-items:start; gap:20px; }
.accountingCombinedLedgers .accountingLedger { margin:0; --ledger-accent:#16805a; --ledger-soft:#edf8f1; --ledger-line:#cfe7da; border-color:var(--ledger-line); }
.accountingCombinedLedgers .accountingLedger.expense { --ledger-accent:#7751ba; --ledger-soft:#f4effc; --ledger-line:#e1d7f1; }
.accountingLedger>header { background:linear-gradient(110deg,var(--ledger-soft),#fff); border-top:4px solid var(--ledger-accent); padding:20px; }
.accountingLedgerHeading { display:flex; align-items:center; gap:12px; min-width:0; }
.accountingLedgerIcon { display:grid; width:43px; height:43px; flex-shrink:0; place-items:center; border-radius:13px; color:#fff; background:var(--ledger-accent); }
.accountingLedgerHeading h2 { margin:0; font-size:24px; }
.accountingLedger .accountingButton.quiet { color:var(--ledger-accent); border-color:var(--ledger-line); }
.accountingLedger .accountingTableHead { color:#677080; }
.accountingLedger .accountingTableHead span:nth-child(2) { color:#526da9; }.accountingLedger .accountingTableHead span:nth-child(3) { color:#2b805c; }
.accountingRowGrid [data-ac-field="plannedCents"] { background:#f3f6fd; color:#36558e; }
.accountingRowGrid [data-ac-field="actualCents"] { background:#f1f8f5; color:#1d5e41; }
.accountingRowGrid input:focus { background:#fff; }
.accountingDifference span { display:block; margin-bottom:3px; color:#737c88; font-size:9px; line-height:1.3; }
.accountingDifference.is-negative span { color:#a74049; }.accountingDifference.is-positive span { color:#28795a; }
.accountingLedgerTotal { display:grid; grid-template-columns:minmax(0,1.4fr) 1fr 1fr; gap:12px; align-items:center; padding:16px 23px; color:var(--ledger-accent); background:var(--ledger-soft); border-top:1px solid var(--ledger-line); }
.accountingLedgerTotal>strong { font-size:13px; }.accountingLedgerTotal>div { min-width:0; text-align:right; }.accountingLedgerTotal span { display:block; color:#727587; font-size:10px; }.accountingLedgerTotal b { display:block; margin-top:4px; font-size:16px; overflow-wrap:anywhere; }
.accountingLedger .accountingAddRow .accountingButton { background:var(--ledger-accent); border-color:var(--ledger-accent); }
.accountingBudgetFootnote { margin:15px 0 23px; }
.accountingRevenueFeedback { width:min(100%,1492px); margin:0 auto; }.accountingRevenueFeedback:empty { display:none; }
@media(min-width:1200px) {
  .accountingCombinedLedgers { grid-template-columns:1fr 1fr; }
  .accountingCombinedLedgers .accountingTableHead,.accountingCombinedLedgers .accountingRowGrid { grid-template-columns:minmax(130px,1.5fr) minmax(86px,.95fr) minmax(86px,.95fr) minmax(78px,.85fr) 32px; gap:7px; padding-left:17px; padding-right:17px; }
  .accountingCombinedLedgers .accountingField input { padding:9px 6px; font-size:13px; }
  .accountingCombinedLedgers .accountingNotesButton { width:32px; min-width:32px; }
  .accountingCombinedLedgers .accountingLedger>header { align-items:flex-start; }
  .accountingLedgerHeading p { max-width:250px; }
}
@media(max-width:1050px) { .accountingTopBar { padding:22px 22px 0; }.accountingBudget { padding:25px 22px 60px; } }
@media(max-width:767px) {
  .accountingWorkspace { padding:0; }.accountingTopBar { padding:14px 12px 0; }.accountingWorkspaceLabel { font-size:12px; margin-bottom:9px; }
  .accountingTabs { gap:4px; padding:5px; border-radius:17px; }.accountingTabs button { flex-direction:column; align-items:flex-start; justify-content:center; min-height:104px; gap:8px; padding:12px; border-radius:12px; }
  .accountingTabs button strong { font-size:14px; }.accountingTabs button small { font-size:10px; line-height:1.35; }.accountingTabIcon { width:29px; height:29px; border-radius:8px; }.accountingTabIcon svg { width:18px; height:18px; }
  .accountingBudget { padding:24px 12px 40px; }.accountingBudgetHeader { margin-bottom:20px; }.accountingBudgetHeader h1 { font-size:28px; }.accountingBudgetHeader p { font-size:12px; }.accountingBudgetBadge { display:none; }
  .accountingSummary { grid-template-columns:minmax(0,1fr); gap:9px; }
  .accountingSummaryCard,.accountingSummaryCard.net { display:grid; grid-column:auto; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); align-items:center; gap:8px 10px; padding:15px; }
  .accountingSummaryCard header,.accountingSummaryCard.net header { grid-column:1; grid-row:1; justify-content:flex-start; }
  .accountingSummaryCard>strong,.accountingSummaryCard.net>strong { grid-column:2; grid-row:1; margin:0; font-size:clamp(20px,5.6vw,25px); text-align:right; white-space:nowrap; overflow-wrap:normal; }
  .accountingSummaryCard .accountingActual,.accountingSummaryCard.net .accountingActual { grid-column:1/-1; display:flex; flex-direction:row; justify-content:space-between; border-top:1px solid var(--ac-line); padding-top:9px; }
  .accountingSummaryCard .accountingActual b,.accountingSummaryCard.net .accountingActual b { font-size:12px; }
  .accountingSummaryCard p,.accountingSummaryCard.net p { grid-column:1/-1; margin:0; }
  .accountingBudgetGuide { gap:8px 14px; margin-top:20px; }.accountingBudgetGuide p { flex-basis:100%; }
  .accountingCombinedLedgers { gap:22px; }.accountingLedger>header { padding:17px 14px; }.accountingLedgerHeading { gap:10px; }.accountingLedgerHeading h2 { font-size:24px; }.accountingLedgerIcon { width:36px; height:36px; border-radius:11px; }
  .accountingLedger .accountingRows { padding-top:12px; }.accountingLedger .accountingRow { border-left:3px solid var(--ledger-line); }
  .accountingRowGrid [data-ac-field="plannedCents"] { background:#f3f6fd; border-color:#dce4f4; }.accountingRowGrid [data-ac-field="actualCents"] { background:#f1f8f5; border-color:#d5e9df; }
  .accountingLedgerTotal { padding:16px 14px; gap:10px; }.accountingLedgerTotal>strong { font-size:12px; }.accountingLedgerTotal b { font-size:14px; }.accountingLedgerTotal span { font-size:9px; }
  .accountingDifference span { margin:0; }.accountingRevenueFeedback { padding:0 12px; }
}
