/* Money uses the shared palette, with every destination visible and figures aligned. */
/* Books' own tabs, one level under Money's: smaller, and tucked under the first row. */
.section-tabs--sub{margin:8px 0 18px; gap:20px}
.section-tabs + .section-tabs--sub{margin-top:-10px}
.section-tabs--sub .section-tab{height:38px; font-size:14.5px}
/* A tick box and its words on one line, in Money's forms. */
.k-check-line{display:flex; align-items:center; gap:10px; font-size:15px; font-weight:600; cursor:pointer}
.k-check-line input{width:20px; height:20px; flex-shrink:0}
.money-filters{display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px;margin:16px 0;padding:18px 0;border-block:1px solid var(--line)}
.money-filters__field{flex:1 1 150px;min-width:0}
.money-filters__search{flex:2 1 230px}
.money-filters input,.money-filters select{width:100%;min-width:0;min-height:42px}
.money-filters__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:25px}
.money-filters__presets{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:16px;font-size:13px}
.money-filters__presets>span{color:var(--ink-2)}
.money-filter-error{font-size:13px;color:var(--hot);margin:5px 0 0}
.money-results{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin:16px 0 10px;color:var(--ink-2);font-size:14px}
.money-results strong{color:var(--ink);font-variant-numeric:tabular-nums}
.money-total th,.money-total td{padding:16px!important;border-top:2px solid var(--line);background:var(--head);font-weight:700;color:var(--ink)}
.money-total th{text-align:left}
.money-report .k-table th{white-space:nowrap}
.money-report .k-table .num{text-align:right}
.money-report .k-table td{vertical-align:top}
.money-report .k-table-wrap{max-height:68vh;overflow:auto;overscroll-behavior:contain}
.money-report thead th{position:sticky;top:0;z-index:1}
.money-report tfoot th,.money-report tfoot td{position:sticky;bottom:0;z-index:1}
.money-report__scope{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:13px;color:var(--ink-2);margin:12px 0}
.money-setup{margin-top:26px;border-top:1px solid var(--line);padding-top:20px}
.money-setup>summary{cursor:pointer;font-size:18px;font-weight:700;min-height:44px}
.money-setup>summary small{font-size:13px;font-weight:400;color:var(--ink-2);margin-left:12px}
.money-setup[open]>summary{margin-bottom:18px}
.money-guidance{background:var(--head);border-left:3px solid var(--accent);padding:16px 18px;margin-bottom:24px}
.money-voucher .money-entry-title{font-size:17px;margin:0 0 12px;font-weight:700}
@media(max-width:639px){
  .money-receipt-summary.k-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-right:0;padding-right:0;overflow:visible}
  .money-receipt-summary>.k-tile:first-child{grid-column:1/-1}
  .money-receipt-summary>.k-tile{min-width:0}
  .money-filters{gap:12px}
  .money-filters__field{flex:1 1 135px}
  .money-filters__search{flex-basis:100%}
  .money-filters__actions{padding-top:0;flex-basis:100%}
  .k-table--cards .money-total{display:block!important;width:100%}
  .k-table--cards .money-total tr{display:flex!important;justify-content:space-between;gap:10px}
  .k-table--cards .money-total th,.k-table--cards .money-total td{display:block!important;border:0;background:none;padding:16px 0!important}
  .k-table--cards .money-total .money-total__empty{display:none!important}
  .money-setup>summary small{display:block;margin:6px 0 0}
}

/* Shared account creation: two decisions first, details only when relevant. */
.account-create{max-width:820px;width:100%;color:var(--ink)}
.account-create__main,.account-create__details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.account-create__details{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}
.account-field{min-width:0}
.account-create .account-field[hidden]{display:none}
.account-create input,.account-create select,.account-create textarea{width:100%;max-width:100%;min-height:44px;color:var(--ink);background:var(--card)}
.account-create :is(input,select,textarea):focus{outline:2px solid var(--accent);outline-offset:2px}
.account-category-help{margin:12px 0 0;font-size:14px;color:var(--ink-2);min-height:22px}
.account-door{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:14px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}
.account-door[hidden],.account-create [data-account-save][hidden]{display:none}
.account-door p{flex-basis:100%;margin:0;font-size:14.5px;line-height:1.5}
.account-create__note{margin:24px 0 0;font-size:13px;color:var(--ink-2)}
.account-create__actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}
.account-create__actions [role=status]{font-size:13px;color:var(--ink-2);flex-basis:100%}
.account-create__heading{display:flex;justify-content:space-between;gap:20px;padding-bottom:24px}
.account-create__heading h2,.account-created h2{font-size:24px;line-height:1.3;font-weight:750;margin:0}
.account-create__heading p,.account-created p{font-size:14px;color:var(--ink-2);margin:6px 0 0}
.account-close{font-size:28px;line-height:1;min-width:44px;height:44px;border-radius:8px;color:var(--ink-2)}
.account-close:hover{background:var(--head)}
.account-error{padding:14px 16px;background:var(--hot-soft);color:var(--hot);border-left:3px solid var(--hot);margin-bottom:22px}
.account-matches{margin-top:20px;padding:16px 0;border-block:1px solid var(--line)}
.account-matches h3{font-size:13px;color:var(--ink-2);margin:0 0 10px;font-weight:700}
.account-match{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;font-size:14px}
.account-match>div{min-width:0;overflow-wrap:anywhere}
.account-match span{display:block;color:var(--ink-2);font-size:12px;margin-top:3px}
.account-match button{flex-shrink:0}
.account-create-link{display:inline-flex;align-items:center;min-height:36px;color:var(--act-text);font-size:13px;font-weight:650;text-decoration:none;margin-top:4px}
.account-create-link:hover{text-decoration:underline}
.account-dialog{width:min(820px,calc(100% - 32px));max-height:calc(100dvh - 48px);border:1px solid var(--line);border-radius:16px;padding:30px;background:var(--card);color:var(--ink);overflow-y:auto;overscroll-behavior:contain}
.account-dialog::backdrop{background:rgb(8 25 29 / .48)}
.account-dialog[open]{animation:account-appear .14s ease-out}
.account-dialog-loading{min-height:140px}
.account-created{display:flex;align-items:center;flex-wrap:wrap;gap:20px;padding:28px 0;border-block:1px solid var(--line);max-width:820px}
.account-created>div{flex:1;min-width:180px}
.account-created a{display:inline-block;margin-top:12px;color:var(--act-text);font-weight:650}
.account-created__mark{display:grid;place-items:center;background:var(--greenbg);color:var(--green);width:48px;height:48px;border-radius:50%;font-size:24px}
@keyframes account-appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:639px){.account-create__main,.account-create__details{grid-template-columns:1fr;gap:18px}.account-dialog{padding:20px;width:calc(100% - 20px);max-height:calc(100dvh - 24px);border-radius:12px}.account-create__heading h2{font-size:22px}.account-match{align-items:flex-start;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.account-dialog[open]{animation:none}}
.account-create__details:not(:has(>.account-field:not([hidden]))){display:none}
.account-extra{margin-top:22px;border-top:1px solid var(--line);padding-top:12px}
.account-extra>summary{cursor:pointer;min-height:44px;padding-block:10px;font-size:14px;font-weight:650}
.account-extra>summary span{color:var(--ink-2);font-weight:400;margin-left:6px}
.account-extra>.account-create__details{border:0;padding:10px 0 0;margin:0}
/* What the books will record, beside an entry form. */
.books-preview__lines{display:grid;gap:2px;padding:6px 0}
.books-preview__line{display:grid;grid-template-columns:34px 1fr auto;align-items:baseline;gap:10px;padding:8px 18px}
.books-preview__line[data-side="credit"] .books-preview__name{padding-left:18px}
.books-preview__side{font:700 12px/1 "IBM Plex Mono",ui-monospace,monospace;color:var(--ink-2)}
.books-preview__name{font-size:14.5px;font-weight:650;color:var(--ink);overflow-wrap:anywhere}
.books-preview__name small{display:block;font-size:12.5px;font-weight:400;color:var(--ink-2)}
.books-preview__amount{font-variant-numeric:tabular-nums;font-weight:700}
.books-preview__note{margin:0;padding:0 18px 14px;font-size:13px;color:var(--ink-2)}
.books-preview__note:empty{display:none}
