/* /Components/AssetFromEntry.razor.rz.scp.css */
.asset-offer[b-a8pm8h2zkq] { margin: 0 0 1.25rem; padding: .75rem 1rem; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); }
.asset-offer summary[b-a8pm8h2zkq] { cursor: pointer; font-weight: 700; color: var(--link); }
.asset-offer[open] summary[b-a8pm8h2zkq] { margin-bottom: .5rem; }
.asset-done[b-a8pm8h2zkq] { margin: 0 0 1rem; padding: .6rem .8rem; border-radius: 10px; background: var(--highlight-soft); }
/* /Components/BankAccountsCard.razor.rz.scp.css */
.bank-accounts[b-yaatdbgcej] { list-style: none; padding: 0; margin: .5rem 0 1rem; }
.bank-accounts li[b-yaatdbgcej] { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; justify-content: space-between; padding: .5rem 0; border-bottom: 1px solid var(--line); }
.bank-accounts li:last-child[b-yaatdbgcej] { border-bottom: none; }
.bank-accounts .name[b-yaatdbgcej] { min-width: 0; overflow-wrap: anywhere; }
.bank-accounts .buttons[b-yaatdbgcej] { display: flex; gap: .75rem; align-items: center; }
.bank-accounts[b-yaatdbgcej]  form.rename { flex: 1; }
/* /Components/BilledLink.razor.rz.scp.css */
.chip.billed[b-lhqi8cy0kp] { background: var(--highlight-soft); color: var(--text); }
.chip.billed.draft[b-lhqi8cy0kp] { background: var(--warn-soft); color: var(--warn); }
.chip.billed:hover[b-lhqi8cy0kp] { text-decoration: none; filter: brightness(.97); }
/* /Components/InboundEmailCard.razor.rz.scp.css */
.copy-row[b-ab3bcg8p2i] { display: flex; gap: .5rem; align-items: center; margin-top: .3rem; }
.copy-row input[b-ab3bcg8p2i] { margin-top: 0; min-width: 0; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .85rem; }
.copy-row button[b-ab3bcg8p2i] { flex: none; }
/* /Components/InvoiceStatusChip.razor.rz.scp.css */
/* .chip and .chip.draft come from app.css; invoice states use the same tokens. */
.chip.sent[b-w9cc2woe4d] { background: var(--nav-active-bg); color: var(--nav-active); }
.chip.paid[b-w9cc2woe4d] { background: var(--green-soft); color: var(--green); }
.chip.overdue[b-w9cc2woe4d] { background: var(--danger-soft); color: var(--danger); }
.chip.cancelled[b-w9cc2woe4d] { background: var(--surface-2); color: var(--muted); border: 1px solid var(--line); text-decoration: line-through; }

@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .chip.paid[b-w9cc2woe4d] { background: var(--highlight-soft); color: var(--ok); }
}
:root[data-theme="dark"] .chip.paid[b-w9cc2woe4d] { background: var(--highlight-soft); color: var(--ok); }
/* /Components/MonthChart.razor.rz.scp.css */
.month-chart[b-djbwcfh38g] {
    background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
    box-shadow: var(--shadow); padding: 1rem 1rem .75rem; margin-top: .75rem; position: relative;
}

.chart-head[b-djbwcfh38g] { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .25rem 1rem; margin-bottom: .75rem; }
.chart-head h2[b-djbwcfh38g] { margin: 0; font-size: 1rem; }
.legend[b-djbwcfh38g] { display: flex; gap: 1rem; margin: 0; padding: 0; list-style: none; color: var(--text-2); font-size: .85rem; }
.legend li[b-djbwcfh38g] { display: flex; align-items: center; gap: .4rem; }
.swatch[b-djbwcfh38g] { width: .75rem; height: .75rem; border-radius: 3px; }
.swatch.income[b-djbwcfh38g] { background: var(--chart-income); }
.swatch.expense[b-djbwcfh38g] { background: var(--chart-expense); }
.swatch.profit[b-djbwcfh38g] { position: relative; width: 1rem; height: 2px; border-radius: 1px; background: var(--chart-profit); }
.swatch.profit[b-djbwcfh38g]::after {
    content: ""; position: absolute; left: 50%; top: 50%; width: .45rem; height: .45rem;
    border-radius: 50%; background: var(--chart-profit); transform: translate(-50%, -50%);
}

/* Axis column + plot; the month labels sit under the plot only. */
.chart[b-djbwcfh38g] { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); grid-template-rows: auto auto; column-gap: .4rem; }
.y-axis[b-djbwcfh38g] { position: relative; grid-row: 1; grid-column: 1; }
.y-axis span[b-djbwcfh38g] {
    position: absolute; right: 0; transform: translateY(50%);
    font-size: .7rem; line-height: 1; color: var(--muted); font-variant-numeric: tabular-nums; white-space: nowrap;
}
.plot[b-djbwcfh38g] { grid-row: 1; grid-column: 2; display: block; width: 100%; height: 11rem; overflow: visible; }
@media (min-width: 600px) { .plot[b-djbwcfh38g] { height: 14rem; } }

.plot .grid[b-djbwcfh38g] { stroke: var(--line); stroke-width: 1; }
.plot .baseline[b-djbwcfh38g] { stroke: var(--muted); stroke-width: 1; }
.plot .hit[b-djbwcfh38g] { fill: transparent; }
.plot .month:hover .hit[b-djbwcfh38g] { fill: var(--surface-2); }
.plot .bar.income[b-djbwcfh38g] { fill: var(--chart-income); }
.plot .bar.expense[b-djbwcfh38g] { fill: var(--chart-expense); }

/* Profit line over the bars: 2px line, 8px dots with a surface ring so they read on top of a bar. */
.plot .profit[b-djbwcfh38g] { pointer-events: none; }
.plot .profit-line[b-djbwcfh38g] { fill: none; stroke: var(--chart-profit); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.plot .profit-ring[b-djbwcfh38g] { stroke: var(--surface); stroke-width: 12; stroke-linecap: round; }
.plot .profit-dot[b-djbwcfh38g] { stroke: var(--chart-profit); stroke-width: 8; stroke-linecap: round; }

.x-axis[b-djbwcfh38g] { grid-row: 2; grid-column: 2; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); margin-top: .3rem; }
.x-axis span[b-djbwcfh38g] { text-align: center; font-size: .7rem; color: var(--muted); overflow: hidden; white-space: nowrap; }
@media (min-width: 600px) { .x-axis span[b-djbwcfh38g], .y-axis span[b-djbwcfh38g] { font-size: .75rem; } }

.sr-only[b-djbwcfh38g] {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

@media (forced-colors: active) {
    .plot .bar.income[b-djbwcfh38g], .swatch.income[b-djbwcfh38g] { fill: CanvasText; background: CanvasText; }
    .plot .bar.expense[b-djbwcfh38g], .swatch.expense[b-djbwcfh38g] { fill: Highlight; background: Highlight; }
    .plot .profit-line[b-djbwcfh38g], .plot .profit-dot[b-djbwcfh38g] { stroke: LinkText; }
    .plot .profit-ring[b-djbwcfh38g] { stroke: Canvas; }
    .swatch.profit[b-djbwcfh38g], .swatch.profit[b-djbwcfh38g]::after { background: LinkText; }
}
/* /Components/ReceiptCapture.razor.rz.scp.css */
.capture[b-s14exf4rop] { cursor: pointer; margin: 0; position: relative; }
.capture[b-s14exf4rop]  input[type=file] {
    position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; pointer-events: none;
}
.capture:focus-within[b-s14exf4rop] { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 10px; }
.capture.busy[b-s14exf4rop] { opacity: .85; cursor: progress; }
.uploading[b-s14exf4rop] { display: inline-flex; align-items: center; gap: .5rem; }

/* As a button: mirrors .button from app.css (label elements don't get it automatically). */
.capture.button[b-s14exf4rop] { display: inline-block; font-weight: 700; color: var(--on-primary); }
.capture.button.secondary[b-s14exf4rop] { color: var(--on-secondary); }
.capture.button.block[b-s14exf4rop] { display: block; }

/* As a tab bar item: mirrors .tabbar a. */
.capture.tab[b-s14exf4rop] {
    display: flex; flex-direction: column; align-items: center;
    font-size: .72rem; font-weight: 400; color: var(--muted); padding: .2rem .8rem;
}
.capture.tab .tab-icon[b-s14exf4rop] { color: var(--highlight); display: flex; align-items: center; justify-content: center; min-height: 24px; }
.capture.tab .tab-spinner[b-s14exf4rop] { width: 20px; height: 20px; }

.capture-error[b-s14exf4rop] {
    position: fixed; left: 1rem; right: 1rem; bottom: calc(4.5rem + env(safe-area-inset-bottom)); z-index: 20;
    margin: 0; cursor: pointer;
}
/* /Components/ReceiptCropper.razor.rz.scp.css */
.scanner[b-2mrur1zgos] {
    position: fixed; inset: 0; z-index: 50;
    display: flex; flex-direction: column;
    background: #000; color: #fff;
    padding: env(safe-area-inset-top) 0 env(safe-area-inset-bottom);
}

.scanner-top[b-2mrur1zgos] {
    display: flex; align-items: center; gap: .5rem;
    padding: .6rem .75rem .4rem;
}
.scanner-cancel[b-2mrur1zgos] { color: #fff; flex: none; }
.scanner-hint[b-2mrur1zgos] {
    flex: 1; margin: 0; text-align: center; font-size: .9rem; color: rgba(255, 255, 255, .85);
    padding-right: 4.5rem; /* centred on the screen, not between the cancel button and the edge */
}

.scanner-view[b-2mrur1zgos] { position: relative; flex: 1; min-height: 0; }
.scanner-view canvas[b-2mrur1zgos] { position: absolute; inset: 0; width: 100%; height: 100%; touch-action: none; }

.scanner-bar[b-2mrur1zgos] {
    display: flex; align-items: center; gap: 1rem;
    padding: 1rem 1.25rem 1.25rem;
}
.scanner-bar > .primary[b-2mrur1zgos], .scanner-bar > .secondary[b-2mrur1zgos] { flex: 1; margin: 0; }
.scanner-bar label[b-2mrur1zgos] { position: relative; cursor: pointer; }
.scanner-bar label.disabled[b-2mrur1zgos] { opacity: .55; cursor: default; }
.scanner-bar[b-2mrur1zgos]  input[type=file] {
    position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; pointer-events: none;
}
/* /Components/SourceIcon.razor.rz.scp.css */
.source-icon[b-v01wz7xz9d] { display: inline-flex; vertical-align: -2px; margin-left: .25rem; color: var(--muted, currentColor); }
/* /Pages/Assets.razor.rz.scp.css */
.assets[b-g5mdip5dja] { list-style: none; margin: 0; padding: 0; }
.assets li[b-g5mdip5dja] { border-bottom: 1px solid var(--line); }
.assets li:last-child[b-g5mdip5dja] { border-bottom: none; }
.assets summary[b-g5mdip5dja] { display: flex; gap: .75rem; align-items: flex-start; padding: .75rem .25rem; cursor: pointer; }
.assets summary:hover[b-g5mdip5dja] { background: var(--surface-2); }
.assets .name[b-g5mdip5dja] { flex: 1; min-width: 0; display: flex; flex-direction: column; font-weight: 600; }
.assets .name .small[b-g5mdip5dja] { font-weight: 400; }
.assets .values[b-g5mdip5dja] { display: flex; flex-direction: column; align-items: flex-end; font-weight: 600; text-align: right; }
.assets details[open][b-g5mdip5dja] { padding-bottom: .75rem; }

.schedule[b-g5mdip5dja] { width: 100%; border-collapse: collapse; font-size: .9rem; font-variant-numeric: tabular-nums; }
.schedule th[b-g5mdip5dja] { text-align: right; color: var(--muted); font-weight: 600; font-size: .8rem; padding: .25rem .35rem; border-bottom: 1px solid var(--line); }
.schedule td[b-g5mdip5dja] { text-align: right; padding: .3rem .35rem; border-bottom: 1px solid var(--line); }
.schedule th:first-child[b-g5mdip5dja], .schedule td:first-child[b-g5mdip5dja] { text-align: left; }

.chip-sm[b-g5mdip5dja] { font-size: .72rem; font-weight: 700; padding: .05rem .45rem; border-radius: 999px; background: var(--warn-soft); color: var(--warn); }
.chip-sm.booked[b-g5mdip5dja] { background: var(--nav-active-bg); color: var(--nav-active); }
/* /Pages/Dashboard.razor.rz.scp.css */
.dash-head[b-5oq9vdqjjc] { display: flex; flex-direction: column; gap: .15rem; margin-bottom: 1rem; }
.dash-head h1[b-5oq9vdqjjc] { margin: 0; }
.dash-year[b-5oq9vdqjjc] { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.dash-year select[b-5oq9vdqjjc] { width: auto; margin-top: 0; }

.stats[b-5oq9vdqjjc] { display: grid; grid-template-columns: 1fr; gap: .75rem; }
@media (min-width: 600px) { .stats[b-5oq9vdqjjc] { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.stat[b-5oq9vdqjjc] {
    display: flex; flex-direction: column; gap: .2rem;
    background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
    box-shadow: var(--shadow); padding: 1rem 1.25rem; color: var(--text);
}
a.stat:hover[b-5oq9vdqjjc] { text-decoration: none; border-color: var(--highlight); }
.stat .label[b-5oq9vdqjjc] { color: var(--muted); font-size: .85rem; font-weight: 600; }
.stat[b-5oq9vdqjjc]  .money { font-size: 1.6rem; font-weight: 800; letter-spacing: -.01em; }
.stat.result[b-5oq9vdqjjc] { background: var(--highlight-soft); border-color: transparent; }

.hint[b-5oq9vdqjjc] {
    display: block; margin-top: .75rem; padding: .75rem 1rem; border-radius: 12px;
    background: var(--warn-soft); color: var(--warn); font-weight: 600;
}
.hint:hover[b-5oq9vdqjjc] { text-decoration: none; filter: brightness(.98); }
/* /Pages/EntryEdit.razor.rz.scp.css */
/* The receipt on top of the entry (EXP-01, EXP-03). */
.receipt[b-ko10hz9wsu] { margin: 0 0 1rem; display: flex; flex-direction: column; gap: .5rem; }
.receipt-image img[b-ko10hz9wsu] {
    display: block; width: 100%; max-height: 45vh; object-fit: contain;
    background: var(--surface-2); border: 1px solid var(--line); border-radius: 12px;
}
@media (min-width: 860px) {
    .receipt-image img[b-ko10hz9wsu] { max-height: 60vh; }
}
.receipt-file[b-ko10hz9wsu] {
    display: flex; align-items: center; gap: .75rem; padding: .75rem 1rem;
    background: var(--surface-2); border: 1px solid var(--line); border-radius: 12px; color: var(--text);
}
.receipt-file:hover[b-ko10hz9wsu] { text-decoration: none; }
.receipt-file > span[b-ko10hz9wsu] { display: flex; flex-direction: column; min-width: 0; overflow-wrap: anywhere; }

.receipt.empty[b-ko10hz9wsu] { padding: 1rem; border: 1px dashed var(--line); border-radius: 12px; }
.receipt.empty p[b-ko10hz9wsu] { margin: 0; }
.capture-row[b-ko10hz9wsu] { display: flex; gap: .75rem; flex-wrap: wrap; }
@media (max-width: 480px) {
    .capture-row[b-ko10hz9wsu]  .capture { flex: 1; text-align: center; }
}
/* The camera button only where there is one (phones, tablets); the file button works everywhere. */
@media (hover: hover) and (pointer: fine) {
    .capture-row[b-ko10hz9wsu]  .camera-only { display: none !important; }
}

.reading[b-ko10hz9wsu] { display: flex; align-items: center; gap: .5rem; margin: 0; color: var(--muted); }

/* A fresh draft while its receipt is read: a spinner card instead of an empty form. */
.reading-card[b-ko10hz9wsu] {
    display: flex; flex-direction: column; align-items: center; gap: .75rem; text-align: center;
    padding: 2rem 1rem; background: var(--surface-2); border: 1px solid var(--line); border-radius: 12px;
}
.reading-card p[b-ko10hz9wsu] { margin: 0; max-width: 32rem; }

/* Low-confidence fields (< 0.8): warm accent on the field and a small label. */
.low[b-ko10hz9wsu]  input, .low select[b-ko10hz9wsu] {
    border-color: var(--warn); background: var(--warn-soft);
}
/* Built in code (RenderFragment), so it carries no scope attribute. */
[b-ko10hz9wsu] .flag {
    font-size: .72rem; font-weight: 700; color: var(--warn);
    background: var(--warn-soft); border-radius: 999px; padding: .05rem .45rem; margin-left: .35rem;
}

.duplicates[b-ko10hz9wsu] { margin-bottom: 1rem; }
.duplicates ul[b-ko10hz9wsu] { margin: .35rem 0; padding-left: 1.1rem; }
/* /Pages/Import.razor.rz.scp.css */
h2.first[b-epyy6f9a88] { margin-top: 0; }

.import-categories[b-epyy6f9a88], .import-lines[b-epyy6f9a88] { list-style: none; margin: 0; padding: 0; }

.import-categories li[b-epyy6f9a88] {
    display: grid; grid-template-columns: 1fr auto minmax(12rem, 16rem); gap: .4rem .9rem; align-items: center;
    padding: .6rem 0; border-bottom: 1px solid var(--line);
}
.import-categories li:last-child[b-epyy6f9a88] { border-bottom: none; }
.cat-name[b-epyy6f9a88] { display: flex; flex-direction: column; min-width: 0; }
.cat-sum[b-epyy6f9a88] { display: flex; gap: .5rem; align-items: center; justify-content: flex-end; white-space: nowrap; }
.off-row .cat-sum[b-epyy6f9a88] { color: var(--danger); }

.import-lines li[b-epyy6f9a88] {
    display: grid; grid-template-columns: 5.6rem 3rem 1fr auto minmax(10rem, 13rem); gap: .3rem .75rem; align-items: center;
    padding: .5rem 0; border-bottom: 1px solid var(--line); font-size: .92rem;
}
.import-lines li:last-child[b-epyy6f9a88] { border-bottom: none; }
.import-lines .date[b-epyy6f9a88] { color: var(--muted); font-variant-numeric: tabular-nums; }
.import-lines .beleg[b-epyy6f9a88] { font-weight: 600; }
.import-lines .text[b-epyy6f9a88] { min-width: 0; overflow-wrap: anywhere; }
.import-lines .amount[b-epyy6f9a88] { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.import-lines .amount.in[b-epyy6f9a88] { color: var(--green-2); }
.warn[b-epyy6f9a88] { color: var(--warn); }

select[b-epyy6f9a88] { margin: 0; }

/* Phones: label and amount on top, the category choice below. */
@media (max-width: 720px) {
    .import-categories li[b-epyy6f9a88] { grid-template-columns: 1fr auto; }
    .import-categories select[b-epyy6f9a88] { grid-column: 1 / -1; }
    .import-lines li[b-epyy6f9a88] { grid-template-columns: auto 1fr auto; }
    .import-lines .date[b-epyy6f9a88] { grid-column: 1; }
    .import-lines .beleg[b-epyy6f9a88] { grid-column: 2; }
    .import-lines .amount[b-epyy6f9a88] { grid-column: 3; }
    .import-lines .text[b-epyy6f9a88], .import-lines .line-cat[b-epyy6f9a88] { grid-column: 1 / -1; }
}
/* /Pages/Integrations/Inbox.razor.rz.scp.css */
.filters .segmented[b-7xs23q51au] { overflow-x: auto; max-width: 100%; }
/* Four status tabs must fit a 360px phone without sideways scrolling. */
@media (max-width: 480px) {
    .filters .segmented[b-7xs23q51au] { display: flex; width: 100%; }
    .filters .segmented button[b-7xs23q51au] { flex: 1; padding: .35rem .4rem; font-size: .85rem; white-space: nowrap; }
}

.group[b-7xs23q51au] { border: 1px solid var(--line); border-radius: 12px; margin-bottom: .75rem; overflow: hidden; }
.group-head[b-7xs23q51au] { display: flex; align-items: center; gap: .75rem; margin: 0; padding: .7rem .75rem; background: var(--surface-2); color: var(--text); cursor: pointer; }
.group-head strong[b-7xs23q51au] { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.group-head[b-7xs23q51au]  .money { font-weight: 700; }

.items[b-7xs23q51au] { list-style: none; margin: 0; padding: 0; }
.items label[b-7xs23q51au] { display: flex; align-items: center; gap: .75rem; margin: 0; padding: .65rem .75rem; border-top: 1px solid var(--line); color: var(--text); font-weight: 400; cursor: pointer; }
.items .grow[b-7xs23q51au] { display: flex; flex-direction: column; }
.items .desc[b-7xs23q51au] { font-weight: 600; }

/* Big touch targets for the checkboxes. */
input[type=checkbox][b-7xs23q51au] { width: 1.3rem; height: 1.3rem; margin: 0; flex: none; accent-color: var(--secondary); }

.block-line[b-7xs23q51au] { display: block; }

/* EXP-08: forwarded mails waiting for review; each row opens the entry form. */
.section-title[b-7xs23q51au] { font-size: 1rem; margin: 1.25rem 0 .5rem; }
.mail-items[b-7xs23q51au] { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.mail-items li + li[b-7xs23q51au] { border-top: 1px solid var(--line); }
.mail-items a[b-7xs23q51au] { display: flex; align-items: center; gap: .75rem; padding: .65rem .75rem; color: var(--text); text-decoration: none; }
.mail-items a:hover[b-7xs23q51au] { background: var(--surface-2); }
.mail-items .grow[b-7xs23q51au] { display: flex; flex-direction: column; min-width: 0; }
.mail-items .desc[b-7xs23q51au] { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Stays in reach above the phone tab bar while scrolling through a long inbox. */
.action-bar[b-7xs23q51au] {
    position: sticky; bottom: .75rem; z-index: 5;
    display: flex; flex-direction: column; gap: .5rem; margin-top: 1rem; padding: .75rem;
    background: var(--surface); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow);
}
.action-bar .buttons[b-7xs23q51au] { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
/* ::deep: the buttons are ActionButtons (rendered by that component, so without this page's scope attribute). */
.action-bar .buttons[b-7xs23q51au]  .primary { flex: 1 1 100%; }
.action-bar .buttons[b-7xs23q51au]  .secondary { flex: 1 1 0; }

@media (max-width: 720px) {
    .action-bar[b-7xs23q51au] { bottom: calc(4.5rem + env(safe-area-inset-bottom)); }
}
/* /Pages/Integrations/IntegrationsPage.razor.rz.scp.css */
.secret-box[b-n29yjs7e2y] { border: 1px solid var(--line); border-radius: 12px; padding: 1rem; margin: 1rem 0; background: var(--surface-2); }
.secret-box h2[b-n29yjs7e2y] { margin-top: 0; }
.copy-row[b-n29yjs7e2y] { display: flex; gap: .5rem; align-items: center; margin-top: .3rem; }
.copy-row input[b-n29yjs7e2y] { margin-top: 0; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .85rem; }
.copy-row button[b-n29yjs7e2y] { flex: none; }

.list li.revoked strong[b-n29yjs7e2y] { color: var(--muted); text-decoration: line-through; }
.block-line[b-n29yjs7e2y] { display: block; }

.snippet[b-n29yjs7e2y] {
    margin: .5rem 0; padding: .75rem; overflow-x: auto; max-width: 100%;
    background: var(--surface-2); border: 1px solid var(--line); border-radius: 10px;
    font-size: .78rem; line-height: 1.45; white-space: pre-wrap; word-break: break-all;
}
/* /Pages/Invoices/Customers.razor.rz.scp.css */
.editor[b-pv5to8qf08] { background: var(--surface-2); border: 1px solid var(--line); border-radius: 12px; padding: 1rem; margin: .75rem 0; }
.editor h2[b-pv5to8qf08] { margin-top: 0; }
.block-line[b-pv5to8qf08] { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lang[b-pv5to8qf08] { font-size: .72rem; font-weight: 700; color: var(--muted); border: 1px solid var(--line); border-radius: 999px; padding: .05rem .45rem; }
/* /Pages/Invoices/InvoiceEdit.razor.rz.scp.css */
.customer-line[b-54eujyc1h5] { margin: -.5rem 0 1rem; }
.warn-text[b-54eujyc1h5] { color: var(--warn); }
.mono[b-54eujyc1h5] { font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.reference[b-54eujyc1h5] { overflow-wrap: anywhere; min-width: 0; }

.inline-customer[b-54eujyc1h5] { background: var(--surface-2); border: 1px solid var(--line); border-radius: 12px; padding: 1rem; margin-bottom: 1rem; }
.inline-customer h2[b-54eujyc1h5] { margin-top: 0; }

.lines[b-54eujyc1h5] { list-style: none; margin: 0 0 .5rem; padding: 0; counter-reset: line; }
.lines li[b-54eujyc1h5] { border-bottom: 1px solid var(--line); padding: .5rem 0 .25rem; }
.lines .desc[b-54eujyc1h5] { margin-bottom: .5rem; }
.line-row[b-54eujyc1h5] { display: grid; grid-template-columns: 1fr 1fr 1.4fr auto; gap: .5rem; align-items: end; }
.line-row label[b-54eujyc1h5] { margin-bottom: .4rem; }
.line-total[b-54eujyc1h5] { font-weight: 700; padding-bottom: 1rem; min-width: 6.5rem; text-align: right; }
.secondary-row[b-54eujyc1h5] { grid-template-columns: 1fr auto; align-items: center; }
.secondary-row .account[b-54eujyc1h5] { margin-top: 0; font-size: .85rem; padding: .35rem .5rem; color: var(--text-2); }

.total-row[b-54eujyc1h5] {
    display: flex; justify-content: space-between; align-items: baseline;
    margin: 1rem 0 1.25rem; padding: .75rem 0; border-top: 2px solid var(--text); font-weight: 800; font-size: 1.15rem;
}

.pdf-actions[b-54eujyc1h5] { display: flex; gap: .75rem; align-items: center; flex-wrap: wrap; margin-bottom: 1rem; }
.pdf[b-54eujyc1h5] { width: 100%; height: 70vh; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); margin-bottom: 1rem; }

.method .field-label[b-54eujyc1h5] { display: block; font-size: .9rem; font-weight: 600; color: var(--text-2); margin-bottom: .3rem; }
.method .segmented.wide[b-54eujyc1h5] { margin-bottom: .9rem; }

.cancel[b-54eujyc1h5] { margin-top: 1.5rem; }
.cancel summary[b-54eujyc1h5] { cursor: pointer; color: var(--danger); font-weight: 600; margin-bottom: .75rem; }

@media (max-width: 480px) {
    .line-row[b-54eujyc1h5] { grid-template-columns: 1fr 1fr; }
    .line-row .line-total[b-54eujyc1h5] { grid-column: 1 / -1; padding-bottom: .25rem; }
    .secondary-row[b-54eujyc1h5] { grid-template-columns: 1fr auto; }
}
/* /Pages/Invoices/InvoiceList.razor.rz.scp.css */
.filters[b-trvzp84e9a] { justify-content: space-between; }
.filters .segmented[b-trvzp84e9a] { overflow-x: auto; max-width: 100%; }

.sums[b-trvzp84e9a] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin-bottom: 1rem; }
.sums > div[b-trvzp84e9a] { background: var(--surface-2); border: 1px solid var(--line); border-radius: 12px; padding: .6rem .75rem; display: flex; flex-direction: column; font-weight: 700; }
.sums > div.alert[b-trvzp84e9a] { background: var(--danger-soft); border-color: transparent; color: var(--danger); }

.invoices[b-trvzp84e9a] { list-style: none; margin: 0; padding: 0; }
.invoices li a[b-trvzp84e9a] { display: flex; gap: .75rem; align-items: flex-start; padding: .75rem .5rem; border-bottom: 1px solid var(--line); color: var(--text); }
.invoices li a:hover[b-trvzp84e9a] { text-decoration: none; background: var(--surface-2); }
.invoices li.overdue a[b-trvzp84e9a] { border-left: 3px solid var(--danger); }
.invoices li.overdue .due[b-trvzp84e9a] { color: var(--danger); font-weight: 600; }
.invoices .main[b-trvzp84e9a] { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.invoices .customer[b-trvzp84e9a] { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.invoices .amount[b-trvzp84e9a] { text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: .2rem; font-weight: 600; }
/* /Pages/Jahresabschluss.razor.rz.scp.css */
h2.first[b-ik2wa02jca] { margin-top: 0; }

.status[b-ik2wa02jca] { font-size: .78rem; font-weight: 700; padding: .2rem .65rem; border-radius: 999px; white-space: nowrap; }
.status.open[b-ik2wa02jca] { background: var(--warn-soft); color: var(--warn); }
.status.closed[b-ik2wa02jca] { background: var(--nav-active-bg); color: var(--nav-active); }

.bank-row[b-ik2wa02jca] { align-items: flex-end; }
.bank-row .remove[b-ik2wa02jca] { margin-bottom: 1.1rem; flex: none; }
/* On phones .row becomes a column; flex-end would then push the fields to the right edge. */
@media (max-width: 480px) {
    .bank-row[b-ik2wa02jca] { align-items: stretch; }
    .bank-row .remove[b-ik2wa02jca] { align-self: flex-start; margin: -.5rem 0 .75rem; }
}

.checks[b-ik2wa02jca] { list-style: none; margin: 0 0 1rem; padding: 0; }
.checks li[b-ik2wa02jca] {
    display: grid; grid-template-columns: auto 1fr auto; gap: .35rem .75rem; align-items: baseline;
    padding: .6rem 0; border-bottom: 1px solid var(--line);
}
.checks li:last-child[b-ik2wa02jca] { border-bottom: none; }
.checks .sev[b-ik2wa02jca] { font-size: .72rem; font-weight: 700; padding: .1rem .5rem; border-radius: 999px; text-transform: uppercase; letter-spacing: .04em; }
.checks .error .sev[b-ik2wa02jca] { background: var(--danger-soft); color: var(--danger); }
.checks .warning .sev[b-ik2wa02jca] { background: var(--warn-soft); color: var(--warn); }
.checks .info .sev[b-ik2wa02jca] { background: var(--surface-2); color: var(--muted); border: 1px solid var(--line); }
.checks .msg[b-ik2wa02jca] { min-width: 0; overflow-wrap: anywhere; }
.checks .fix[b-ik2wa02jca] { white-space: nowrap; font-weight: 600; }
@media (max-width: 480px) {
    .checks li[b-ik2wa02jca] { grid-template-columns: auto 1fr; }
    .checks .fix[b-ik2wa02jca] { grid-column: 2; }
}

label.check[b-ik2wa02jca] { display: flex; gap: .6rem; align-items: flex-start; font-weight: 500; }
label.check input[b-ik2wa02jca] { width: auto; margin-top: .25rem; flex: none; }

.versions[b-ik2wa02jca] { list-style: none; margin: 0; padding: 0; }
.versions li[b-ik2wa02jca] { display: flex; flex-direction: column; gap: .35rem; padding: .75rem 0; border-bottom: 1px solid var(--line); }
.versions li:last-child[b-ik2wa02jca] { border-bottom: none; }
.v-head[b-ik2wa02jca] { display: flex; gap: .75rem; align-items: baseline; flex-wrap: wrap; }
.downloads[b-ik2wa02jca] { display: flex; gap: .5rem; flex-wrap: wrap; }
.hash[b-ik2wa02jca] { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; overflow-wrap: anywhere; }
/* /Pages/Ledger.razor.rz.scp.css */
/* "Alle / Zu prüfen / Ohne Beleg": full width on phones, so all three fit at 360 px. */
.views[b-pwtqg59vzm] { display: flex; margin-top: 1rem; }
.views button[b-pwtqg59vzm] { flex: 1; padding-left: .5rem; padding-right: .5rem; white-space: nowrap; }
@media (min-width: 600px) {
    .views[b-pwtqg59vzm] { display: inline-flex; }
    .views button[b-pwtqg59vzm] { flex: none; padding-left: .9rem; padding-right: .9rem; }
}

.date .year[b-pwtqg59vzm] { display: block; font-size: .8rem; }

.has-receipt[b-pwtqg59vzm] { display: inline-flex; vertical-align: -2px; margin-left: .25rem; }
/* /Pages/OAuth/Authorize.razor.rz.scp.css */
.consent[b-wq8b035aks] { max-width: 34rem; margin: 0 auto; }
.consent-list[b-wq8b035aks] { list-style: none; padding: 0; margin: 1rem 0; }
.consent-list li[b-wq8b035aks] { margin: .4rem 0; }
/* /Pages/Projects/ProjectEdit.razor.rz.scp.css */
.figures[b-c2bqjt7zvu] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin: .75rem 0 1rem; }
.figures > div[b-c2bqjt7zvu] { background: var(--surface-2); border: 1px solid var(--line); border-radius: 12px; padding: .6rem .75rem; display: flex; flex-direction: column; font-weight: 700; min-width: 0; }
.figures > div.alert[b-c2bqjt7zvu] { background: var(--danger-soft); border-color: transparent; color: var(--danger); }
.figures > div.open[b-c2bqjt7zvu] { background: var(--highlight-soft); border-color: transparent; }
.figures .tiny[b-c2bqjt7zvu] { font-size: .72rem; font-weight: 400; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 480px) {
    .figures[b-c2bqjt7zvu] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem; }
}

.invoice-action[b-c2bqjt7zvu] { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; margin-bottom: 1rem; }
.invoice-action .small[b-c2bqjt7zvu] { flex: 1; min-width: 12rem; }

.time-actions[b-c2bqjt7zvu] { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; margin-bottom: 1rem; }
.section-head[b-c2bqjt7zvu] { margin-top: 1.5rem; }

.items[b-c2bqjt7zvu] { list-style: none; margin: 0 0 1rem; padding: 0; }
.items li[b-c2bqjt7zvu] { display: flex; gap: .75rem; align-items: flex-start; padding: .6rem .25rem; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.items li.editing[b-c2bqjt7zvu] { background: var(--surface-2); }
.items .date[b-c2bqjt7zvu] { color: var(--muted); font-variant-numeric: tabular-nums; width: 4.2rem; flex: none; }
.items .desc[b-c2bqjt7zvu] { flex: 1; min-width: 8rem; display: flex; flex-direction: column; align-items: flex-start; gap: .2rem; overflow-wrap: anywhere; }
.items .amount[b-c2bqjt7zvu] { text-align: right; display: flex; flex-direction: column; align-items: flex-end; font-weight: 600; }
.items .item-actions[b-c2bqjt7zvu] { display: flex; gap: .25rem; flex-basis: 100%; justify-content: flex-end; }

.settings[b-c2bqjt7zvu] { margin-top: 1.5rem; border-top: 1px solid var(--line); padding-top: 1rem; }
.settings summary[b-c2bqjt7zvu] { cursor: pointer; font-weight: 700; margin-bottom: 1rem; }
.customer-link[b-c2bqjt7zvu] { margin: -.6rem 0 .9rem; }
.chip.archived[b-c2bqjt7zvu] { background: var(--surface-2); color: var(--muted); border: 1px solid var(--line); }
/* /Pages/Projects/ProjectList.razor.rz.scp.css */
.projects[b-u7nwfmigvk] { list-style: none; margin: 0; padding: 0; }
.projects li a[b-u7nwfmigvk] { display: flex; gap: .75rem; align-items: flex-start; padding: .75rem .5rem; border-bottom: 1px solid var(--line); color: var(--text); }
.projects li a:hover[b-u7nwfmigvk] { text-decoration: none; background: var(--surface-2); }
.projects li.over a[b-u7nwfmigvk] { border-left: 3px solid var(--danger); }
.projects .main[b-u7nwfmigvk] { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.projects .name[b-u7nwfmigvk] { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.projects .amount[b-u7nwfmigvk] { text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: .2rem; font-weight: 600; }
.projects .amount .small[b-u7nwfmigvk] { font-weight: 400; }
.chip.archived[b-u7nwfmigvk] { background: var(--surface-2); color: var(--muted); border: 1px solid var(--line); margin-left: .25rem; }
