/* The ledger stays first; every number still comes from the financial APIs. */
.finance-page.finance-studio {
  --fin-ink: var(--sky-ink, #18304f);
  --fin-muted: var(--sky-muted, #6d819b);
  --fin-accent: var(--sky-accent, #2e7bfa);
  --fin-soft: var(--sky-soft, #eaf3ff);
  --fin-tint: var(--sky-tint, #f5f9ff);
  --fin-line: var(--sky-line, #dfeaf7);
  color: var(--fin-ink);
  min-width: 0;
  font-size: 13px;
}
.sky-workspace .finance-studio .finance-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 17px;
}
.sky-workspace .finance-studio .finance-heading h1 { margin: 0; font-size: 24px; line-height: 1.35; letter-spacing: -.65px; font-weight: 650; }
.finance-studio .finance-heading p { margin: 5px 0 0; color: var(--fin-muted); font-size: 12px; }
.finance-studio .finance-heading-actions { display: flex; align-items: center; gap: 9px; flex: none; }
.sky-workspace .finance-studio .finance-new-entry { min-height: 36px; padding: 7px 16px; border-radius: 9px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.finance-studio .finance-readonly { margin-left: 7px; padding: 2px 7px; border: 1px solid var(--fin-line); border-radius: 5px; font-size: 10px; }
.finance-studio .finance-more { position: relative; }
.finance-studio .finance-more > summary { display: flex; align-items: center; gap: 6px; cursor: pointer; list-style: none; color: var(--fin-muted); font-size: 12px; min-height: 36px; padding: 5px 9px; border-radius: 8px; }
.finance-studio .finance-more > summary:hover, .finance-studio .finance-more[open] > summary { color: var(--fin-accent); background: var(--fin-soft); }
.finance-studio .finance-more > summary::-webkit-details-marker, .finance-studio .finance-filter-popover > summary::-webkit-details-marker { display: none; }
.finance-studio .finance-more > summary .ui-icon { width: 17px; height: 17px; }
.finance-studio .finance-more-menu { position: absolute; top: calc(100% + 5px); right: 0; width: 190px; z-index: 35; display: grid; gap: 2px; padding: 6px; background: #fff; border: 1px solid var(--fin-line); border-radius: 11px; box-shadow: 0 12px 35px color-mix(in srgb, var(--fin-ink) 12%, transparent); }
.finance-studio .finance-more:not([open]) .finance-more-menu { display: none; }
.sky-workspace .finance-studio .finance-more-menu > :is(a, .button) { display: flex; align-items: center; justify-content: space-between; width: 100%; border: 0; min-height: 34px; padding: 7px 10px; background: transparent; color: var(--fin-ink); font-size: 12px; text-align: left; border-radius: 6px; }
.sky-workspace .finance-studio .finance-more-menu > :is(a, .button):hover { background: var(--fin-soft); color: var(--fin-accent); }
.finance-studio .finance-more-menu .ui-icon { width: 13px; height: 13px; color: var(--fin-muted); }
.finance-studio > .notice { margin: 0 0 12px; padding: 11px 14px; border-color: var(--fin-line); border-radius: 10px; font-size: 12px; }
.finance-studio .finance-assistant-draft { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; background: var(--fin-soft); }
.finance-studio .finance-draft-copy { min-width: 0; flex: 1; }
.finance-studio .finance-draft-copy > p { margin: 4px 0; overflow-wrap: anywhere; }
.finance-studio .finance-draft-copy > small { color: var(--fin-muted); font-size: 11px; }
.sky-workspace .finance-studio .finance-assistant-draft .button { min-height: 31px; padding: 5px 10px; font-size: 11px; }
.finance-studio .finance-capital { display: flex; align-items: center; gap: 22px; min-width: 0; padding: 13px 17px; border: 1px solid var(--fin-line); background: linear-gradient(110deg, var(--fin-soft), #fff 72%); border-radius: 12px; }
.finance-studio .finance-capital-label { display: flex; align-items: center; gap: 10px; flex: none; padding-right: 19px; border-right: 1px solid var(--fin-line); }
.finance-studio .finance-capital-label > .ui-icon { width: 25px; height: 25px; color: var(--fin-accent); }
.finance-studio .finance-capital-label span { display: block; font-weight: 600; font-size: 12px; }
.finance-studio .finance-capital-label small { display: block; margin-top: 3px; color: var(--fin-muted); font-size: 10px; }
.finance-studio .finance-capital-totals { flex: 1; min-width: 0; display: flex; align-items: center; gap: 26px; overflow-x: auto; scrollbar-width: thin; }
.finance-studio .finance-capital-value { display: grid; gap: 2px; flex: none; }
.finance-studio .finance-capital-value > span { font-size: 10px; letter-spacing: .05em; color: var(--fin-muted); }
.finance-studio .finance-capital-value > strong { font-size: 23px; line-height: 1.3; letter-spacing: -.6px; font-weight: 650; font-variant-numeric: tabular-nums; white-space: nowrap; }
.finance-studio .finance-capital-unset { margin: 0; font-size: 13px; color: var(--fin-muted); }
.finance-studio .finance-capital-link { display: inline-flex; align-items: center; gap: 5px; flex: none; font-size: 11px; color: var(--fin-muted); }
.finance-studio .finance-capital-link:hover { color: var(--fin-accent); }
.finance-studio .finance-capital-link .ui-icon { width: 11px; height: 11px; }
.finance-studio .finance-accounts-bar { display: flex; align-items: center; gap: 12px; padding: 10px 0 13px; min-width: 0; }
.finance-studio .finance-accounts-caption { flex: none; display: grid; gap: 2px; padding-left: 3px; font-size: 10px; color: var(--fin-muted); }
.finance-studio .finance-accounts-caption > small { font-size: 10px; }
.sky-workspace .finance-studio .finance-wallets { display: flex; gap: 8px; flex: 1; min-width: 0; overflow-x: auto; margin: 0; padding: 1px 1px 5px; scrollbar-width: thin; }
.sky-workspace .finance-studio .finance-wallet { display: flex; align-items: center; gap: 5px; flex: 0 0 auto; min-width: 200px; max-width: 340px; padding: 8px 10px; border: 1px solid var(--fin-line); border-radius: 8px; background: #fff; box-shadow: none; }
.sky-workspace .finance-studio .finance-wallet.selected { border-color: color-mix(in srgb, var(--fin-accent) 55%, var(--fin-line)); background: var(--fin-soft); }
.finance-studio .finance-wallet-filter { display: flex; align-items: center; gap: 8px; min-width: 0; flex: 1; padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; text-align: left; }
.finance-studio .finance-wallet-filter:focus-visible, .finance-studio summary:focus-visible { outline: 2px solid var(--fin-accent); outline-offset: 3px; }
.sky-workspace .finance-studio .wallet-icon { width: 25px; height: 25px; flex: 0 0 25px; border-radius: 7px; color: var(--fin-accent); background: var(--fin-soft); }
.sky-workspace .finance-studio .wallet-icon .ui-icon { width: 14px; height: 14px; }
.finance-studio .finance-wallet-copy { min-width: 0; display: grid; gap: 1px; }
.finance-studio .finance-wallet-copy > strong { max-width: 115px; font-size: 12px; font-weight: 550; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.finance-studio .finance-wallet-copy > small { font-size: 10px; color: var(--fin-muted); white-space: nowrap; }
.sky-workspace .finance-studio .wallet-balance { margin: 0 0 0 6px; font-size: 14px; font-weight: 600; letter-spacing: -.2px; white-space: nowrap; color: var(--fin-ink); font-variant-numeric: tabular-nums; }
.sky-workspace .finance-studio .finance-wallet-tools .button { font-size: 10px; padding: 3px; min-height: 24px; color: var(--fin-muted); }
.finance-studio .finance-account-empty { display: flex; align-items: center; gap: 10px; min-height: 38px; color: var(--fin-muted); font-size: 11px; flex-wrap: wrap; }
.sky-workspace .finance-studio .finance-account-empty .button, .sky-workspace .finance-studio .finance-accounts-bar > .button { min-height: 27px; padding: 3px 7px; font-size: 11px; white-space: nowrap; }
.finance-studio .finance-ledger-workspace { border: 1px solid var(--fin-line); border-radius: 12px; background: #fff; min-width: 0; }
.finance-studio .finance-ledger-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 16px; border-bottom: 1px solid var(--fin-line); }
.finance-studio .finance-type-tabs { display: flex; gap: 22px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.finance-studio .finance-type-tabs::-webkit-scrollbar { display: none; }
.finance-studio .finance-type-tabs > button { position: relative; padding: 12px 1px 11px; min-height: 43px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: var(--fin-muted); font-size: 13px; font-weight: 500; white-space: nowrap; cursor: pointer; }
.finance-studio .finance-type-tabs > button[aria-pressed=true] { color: var(--fin-accent); border-bottom-color: var(--fin-accent); font-weight: 600; }
.finance-studio .finance-type-tabs > button:hover { color: var(--fin-accent); }
.finance-studio .finance-ledger-top > .result-count { margin: 0; color: var(--fin-muted); font-size: 10px; white-space: nowrap; }
.finance-studio .result-count > strong { font-weight: 550; color: var(--fin-ink); }
.sky-workspace .finance-studio .finance-toolbar { display: flex; align-items: center; gap: 8px; padding: 12px 16px 8px; position: relative; margin: 0; background: transparent; border: 0; border-radius: 0; }
.sky-workspace .finance-studio .finance-toolbar > .field { display: block; min-width: 0; margin: 0; font-size: 0; flex: 0 0 140px; }
.sky-workspace .finance-studio .finance-toolbar :is(input, select) { min-height: 33px; height: 33px; border-color: var(--fin-line); border-radius: 7px; padding: 6px 9px; font-size: 12px; background-color: #fff; color: var(--fin-ink); }
.sky-workspace .finance-studio .finance-toolbar > .finance-search { position: relative; flex: 1; min-width: 150px; }
.sky-workspace .finance-studio .finance-search > input { padding-left: 31px; width: 100%; background: var(--fin-tint); }
.finance-studio .finance-search > .ui-icon { position: absolute; top: 9px; left: 10px; width: 15px; height: 15px; color: var(--fin-muted); pointer-events: none; }
.finance-studio .finance-filter-popover { position: relative; flex: none; }
.finance-studio .finance-filter-popover > summary { display: flex; align-items: center; gap: 6px; padding: 6px 9px; min-height: 33px; border: 1px solid var(--fin-line); border-radius: 7px; color: var(--fin-muted); font-size: 11px; cursor: pointer; list-style: none; white-space: nowrap; }
.finance-studio .finance-filter-popover[open] > summary { background: var(--fin-soft); border-color: var(--fin-line); color: var(--fin-accent); }
.finance-studio .finance-filter-popover > summary > .ui-icon { width: 13px; height: 13px; }
.finance-studio .finance-filter-popover > summary > .ui-icon:last-child { transform: rotate(90deg); width: 10px; height: 10px; }
.finance-studio .finance-filter-popover summary b { background: var(--fin-soft); color: var(--fin-accent); padding: 0 4px; border-radius: 4px; font-size: 10px; }
.finance-studio .finance-filter-dropdown { position: absolute; z-index: 34; right: 0; top: calc(100% + 6px); width: 330px; padding: 13px; border: 1px solid var(--fin-line); border-radius: 10px; background: #fff; box-shadow: 0 10px 30px color-mix(in srgb, var(--fin-ink) 12%, transparent); }
.finance-studio .finance-filter-popover:not([open]) .finance-filter-dropdown { display: none; }
.sky-workspace .finance-studio .date-shortcuts { display: flex; gap: 4px; padding: 0 0 11px; flex-wrap: wrap; }
.sky-workspace .finance-studio .date-shortcuts > button { min-height: 27px; padding: 4px 8px; font-size: 10px; border-radius: 5px; background: #fff; color: var(--fin-muted); border: 0; cursor: pointer; }
.sky-workspace .finance-studio .date-shortcuts > button[aria-pressed=true] { color: var(--fin-accent); background: var(--fin-soft); }
.finance-studio .finance-date-inputs { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
.finance-studio .finance-filter-dropdown .field { margin: 0; font-size: 10px; color: var(--fin-muted); display: grid; gap: 5px; }
.finance-studio .finance-filter-dropdown p { margin: 8px 0 10px; font-size: 10px; color: var(--fin-muted); }
.sky-workspace .finance-studio .finance-filter-dropdown .button { min-height: 29px; padding: 5px 9px; font-size: 11px; }
.finance-studio .finance-extra-inputs { width: 255px; display: grid; gap: 12px; }
.finance-studio .finance-extra-inputs > .button { justify-self: end; }
.finance-studio .finance-query-actions { display: flex; align-items: center; gap: 3px; flex: none; }
.sky-workspace .finance-studio .finance-query-actions .button { min-height: 32px; padding: 5px 10px; font-size: 11px; white-space: nowrap; }
.sky-workspace .finance-studio .finance-query-actions .button.text { color: var(--fin-muted); padding-left: 5px; padding-right: 5px; }
.finance-studio .finance-filter-context { display: flex; gap: 7px 15px; flex-wrap: wrap; padding: 0 17px 10px; color: var(--fin-muted); font-size: 10px; }
.finance-studio .finance-filter-context > span + span { color: var(--fin-accent); }
.sky-workspace .finance-studio .ledger-summary { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 20px; padding: 9px 16px; margin: 0; background: var(--fin-tint); border-top: 1px solid var(--fin-line); border-bottom: 1px solid var(--fin-line); scrollbar-width: thin; }
.sky-workspace .finance-studio .ledger-summary-item { flex: none; display: flex; flex-wrap: nowrap; align-items: center; gap: 13px; color: var(--fin-muted); font-size: 10px; white-space: nowrap; }
.sky-workspace .finance-studio .ledger-summary-item > strong { font-size: 10px; color: var(--fin-ink); font-weight: 600; }
.sky-workspace .finance-studio .ledger-summary-item b { font-size: 11px; font-weight: 550; margin-left: 2px; color: var(--fin-ink); }
.sky-workspace .finance-studio .ledger-summary-item small { font-size: 10px; }
.sky-workspace .finance-studio .ledger-summary > .muted { font-size: 11px; }
.sky-workspace .finance-studio .money-in, .sky-workspace .finance-studio .ledger-summary-item b.money-in { color: var(--sky-success, #318a72); }
.sky-workspace .finance-studio .table-panel { border: 0; border-radius: 0 0 12px 12px; box-shadow: none; padding: 0; margin: 0; }
.finance-studio .table-scroll { width: 100%; overflow-x: auto; border-radius: 0; }
.sky-workspace .finance-studio .finance-ledger { min-width: 900px; width: 100%; border-collapse: collapse; table-layout: fixed; }
.sky-workspace .finance-studio .finance-ledger th { padding: 10px 13px; background: #fff; color: var(--fin-muted); font-size: 11px; font-weight: 500; white-space: nowrap; border-bottom: 1px solid var(--fin-line); }
.sky-workspace .finance-studio .finance-ledger td { padding: 11px 13px; height: auto; color: var(--fin-ink); font-size: 12px; line-height: 1.6; border-bottom: 1px solid color-mix(in srgb, var(--fin-line) 75%, #fff); vertical-align: middle; overflow-wrap: anywhere; }
.sky-workspace .finance-studio .finance-ledger td strong { font-size: 12px; font-weight: 550; }
.sky-workspace .finance-studio .finance-ledger .subline { margin-top: 2px; font-size: 10px; color: var(--fin-muted); line-height: 1.5; }
.finance-studio .finance-ledger tbody tr:hover { background: color-mix(in srgb, var(--fin-soft) 50%, #fff); }
.finance-studio .finance-purpose { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.finance-studio .finance-amount { font-variant-numeric: tabular-nums; }
.sky-workspace .finance-studio .finance-amount > strong { font-size: 13px; white-space: nowrap; }
.finance-studio .finance-flow-label { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; white-space: nowrap; }
.finance-studio .finance-flow-label > i { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: var(--fin-soft); color: var(--fin-accent); font-size: 12px; font-style: normal; }
.finance-studio .finance-flow-label.expense > i { color: #b65f63; background: #fdf0f1; }
.finance-studio .finance-flow-label.income > i, .finance-studio .finance-flow-label.refund > i { color: #318a72; background: #edf7f1; }
.finance-studio .finance-entry-status { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; color: var(--fin-muted); font-size: 10px; }
.finance-studio .finance-entry-status > i { width: 4px; height: 4px; border-radius: 50%; background: #5b9e86; }
.finance-studio .finance-entry-status.is-void > i { background: #a8b1bc; }
.finance-studio .finance-entry-void .finance-amount > strong { color: var(--fin-muted); }
.sky-workspace .finance-studio .finance-row-actions { flex-wrap: nowrap; gap: 5px; }
.sky-workspace .finance-studio .finance-row-actions .button.small { padding: 3px 0; min-height: 25px; font-size: 11px; white-space: nowrap; }
.sky-workspace .finance-studio .finance-row-actions .button.small:last-child { color: var(--fin-muted); }
.sky-workspace .finance-studio .finance-ledger .table-empty { padding: 30px 20px 34px; text-align: center; }
.finance-studio .finance-empty-icon { display: grid; place-items: center; width: 34px; height: 34px; margin: 0 auto 9px; color: var(--fin-accent); background: var(--fin-soft); border-radius: 11px; }
.finance-studio .finance-empty-icon .ui-icon { width: 18px; height: 18px; }
.sky-workspace .finance-studio .finance-ledger .table-empty > strong { font-size: 13px; }
.finance-studio .table-empty > p { margin: 5px 0 12px; font-size: 11px; color: var(--fin-muted); }
.finance-studio .table-empty > .actions { justify-content: center; }
.sky-workspace .finance-studio .pagination { min-height: 47px; padding: 9px 15px; color: var(--fin-muted); font-size: 10px; }
.sky-workspace .finance-studio .pagination .button { min-height: 27px; padding: 4px 8px; font-size: 10px; }
.finance-studio .finance-footnote { margin: 10px 2px 0; color: var(--fin-muted); font-size: 10px; }

@media (max-width: 1180px) {
  .finance-studio .finance-capital-link { display: none; }
  .sky-workspace .finance-studio .finance-toolbar { flex-wrap: wrap; }
  .sky-workspace .finance-studio .finance-toolbar > .finance-search { min-width: 190px; }
}
@media (max-width: 720px) {
  .sky-workspace .finance-studio .finance-heading { align-items: center; margin-bottom: 13px; gap: 8px; }
  .sky-workspace .finance-studio .finance-heading h1 { font-size: 21px; }
  .finance-studio .finance-heading p { font-size: 10px; }
  .finance-studio .finance-heading-actions { gap: 4px; }
  .finance-studio .finance-more > summary > span { display: none; }
  .sky-workspace .finance-studio .finance-new-entry { min-height: 34px; padding: 6px 11px; font-size: 11px; }
  .finance-studio .finance-capital { padding: 11px 12px; gap: 13px; border-radius: 10px; }
  .finance-studio .finance-capital-label { padding-right: 12px; gap: 7px; }
  .finance-studio .finance-capital-label > .ui-icon { display: none; }
  .finance-studio .finance-capital-label span { font-size: 11px; }
  .finance-studio .finance-capital-label small { max-width: 85px; font-size: 9px; }
  .finance-studio .finance-capital-totals { gap: 19px; }
  .finance-studio .finance-capital-value > strong { font-size: 20px; }
  .finance-studio .finance-accounts-caption { display: none; }
  .finance-studio .finance-accounts-bar { padding: 8px 0 11px; }
  .sky-workspace .finance-studio .finance-wallet { min-width: 190px; padding: 7px 9px; }
  .finance-studio .finance-ledger-top { padding: 0 12px; gap: 10px; }
  .finance-studio .finance-type-tabs { gap: 19px; }
  .finance-studio .finance-type-tabs > button { font-size: 11px; min-height: 40px; padding-top: 11px; padding-bottom: 9px; }
  .finance-studio .finance-ledger-top > .result-count { font-size: 9px; }
  .sky-workspace .finance-studio .finance-toolbar { padding: 10px 12px 7px; gap: 7px; flex-wrap: wrap; }
  .sky-workspace .finance-studio .finance-toolbar > .finance-search { flex: 1 0 100%; }
  .sky-workspace .finance-studio .finance-toolbar > .field:not(.finance-search) { flex: 1 1 116px; }
  .finance-studio .finance-query-actions { margin-left: auto; }
  .finance-studio .finance-filter-popover { position: static; }
  .finance-studio .finance-filter-dropdown { width: auto; left: 11px; right: 11px; top: calc(100% - 3px); }
  .finance-studio .finance-extra-inputs { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .finance-studio .finance-extra-inputs > .button { align-self: end; }
  .finance-studio .finance-filter-context { padding-left: 13px; padding-right: 13px; font-size: 9px; }
  .sky-workspace .finance-studio .ledger-summary { padding-left: 12px; padding-right: 12px; }
  .sky-workspace .finance-studio .finance-ledger { min-width: 870px; }
  .finance-studio .finance-footnote { font-size: 9px; line-height: 1.8; }
}
@media (pointer: coarse) {
  .sky-workspace .finance-studio .finance-toolbar :is(input, select) { font-size: 16px; min-height: 40px; height: 40px; }
  .finance-studio .finance-filter-popover > summary, .sky-workspace .finance-studio .finance-query-actions .button { min-height: 40px; }
  .sky-workspace .finance-studio .finance-row-actions .button.small { min-height: 36px; }
  .finance-studio .finance-search > .ui-icon { top: 13px; }
}
