:root { color-scheme: dark; --bg:#0d1117; --panel:#151b23; --panel2:#1b2430; --line:#2a3441; --text:#edf2f7; --muted:#9aa8b7; --accent:#63d7a5; --danger:#ff7d7d; --warn:#f4c86a; }
* { box-sizing:border-box; }
body { margin:0; font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:var(--bg); color:var(--text); }
a { color:inherit; text-decoration:none; }
.shell { width:min(1180px, calc(100% - 32px)); margin:0 auto; }
.topbar { border-bottom:1px solid var(--line); background:rgba(13,17,23,.94); position:sticky; top:0; z-index:5; backdrop-filter:blur(10px); }
.topbar-inner { min-height:64px; display:flex; align-items:center; gap:14px; }
.brand { font-weight:800; letter-spacing:-.02em; }
.badge,.pill,.status { display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:999px; padding:5px 9px; font-size:.78rem; color:var(--muted); }
.page { padding:42px 0 70px; }
.hero { margin-bottom:30px; }
.eyebrow { margin:0 0 8px; text-transform:uppercase; letter-spacing:.13em; font-size:.76rem; color:var(--accent); font-weight:800; }
h1 { margin:0; font-size:clamp(2rem,5vw,3.4rem); letter-spacing:-.04em; }
h2 { margin:0 0 14px; font-size:1.05rem; }
.lead,.muted { color:var(--muted); }
.lead { font-size:1.06rem; max-width:720px; }
.grid.two { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.card { background:var(--panel); border:1px solid var(--line); border-radius:18px; padding:22px; margin-bottom:18px; }
.card-head,.page-head,.action-bar { display:flex; justify-content:space-between; gap:18px; align-items:center; }
.page-head { margin-bottom:22px; align-items:flex-end; }
.button { appearance:none; border:1px solid var(--line); border-radius:11px; padding:11px 15px; font:inherit; font-weight:700; cursor:pointer; background:var(--panel2); color:var(--text); }
.button.primary { background:var(--accent); color:#07150f; border-color:transparent; }
.button.secondary { background:transparent; }
.button.danger { background:var(--danger); color:#2a0808; border-color:transparent; }
.button:disabled { opacity:.45; cursor:not-allowed; }
.full { width:100%; margin-top:14px; }
.dropzone { min-height:190px; border:1.5px dashed #49586a; border-radius:15px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:7px; cursor:pointer; transition:.18s; background:#111820; }
.dropzone.dragging { border-color:var(--accent); background:#13231d; }
.dropzone input { position:absolute; opacity:0; pointer-events:none; }
.dropzone span,.selected-file { color:var(--muted); font-size:.9rem; }
.selected-file { min-height:22px; padding-top:9px; }
.status-box { border-radius:12px; padding:13px 14px; margin:12px 0 18px; border:1px solid var(--line); }
.status-box.success { background:#10271e; border-color:#245b44; }
.status-box.error { background:#2b1417; border-color:#673038; }
.status-box.neutral { background:#111820; }
.info-card { margin-top:18px; }
.pill-row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.arrow { color:var(--muted); }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.field { display:flex; flex-direction:column; gap:7px; color:var(--muted); font-size:.88rem; }
input,select { width:100%; background:#0f151c; color:var(--text); border:1px solid var(--line); border-radius:10px; padding:11px 12px; font:inherit; }
.table-card { padding:0; overflow:hidden; }
.table-card .card-head { padding:18px 20px 0; }
.table-scroll { overflow:auto; padding-top:12px; }
table { border-collapse:collapse; width:100%; min-width:820px; }
th,td { border-top:1px solid var(--line); padding:11px 13px; text-align:left; vertical-align:top; font-size:.88rem; }
th { color:var(--muted); font-size:.76rem; text-transform:uppercase; letter-spacing:.05em; background:#111820; position:sticky; top:0; }
.right { text-align:right; }
.amount { font-variant-numeric:tabular-nums; white-space:nowrap; }
.amount.negative { color:#ffaaa7; }.amount.positive { color:#8ce6bb; }
.status-ready { color:#8ce6bb; border-color:#2c6a4f; }.status-duplicate { color:#f0cd7b; border-color:#6b5929; }.status-error { color:#ff9b9b; border-color:#6d3036; }.status-imported { color:#9dbfff; border-color:#35527c; }
.error-detail { color:#ff9b9b; font-size:.78rem; margin-top:4px; max-width:520px; }
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:18px; }
.stat { background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:16px; display:flex; flex-direction:column; }
.stat strong { font-size:1.55rem; }.stat span { color:var(--muted); font-size:.82rem; }
.action-bar { border:1px solid #68343a; background:#28171a; padding:15px 17px; border-radius:14px; }
.check-all { color:var(--muted); font-size:.85rem; display:flex; align-items:center; gap:7px; }.check-all input,.tx-check { width:auto; }
@media (max-width:780px) { .grid.two,.form-grid,.stats { grid-template-columns:1fr; } .page-head,.card-head,.action-bar { align-items:flex-start; flex-direction:column; } .shell { width:min(100% - 20px,1180px); } }

/* Finance Inbox / Quick Capture */
.topnav { margin-left:auto; display:flex; gap:16px; color:var(--muted); font-size:.9rem; }
.topnav a:hover { color:var(--text); }
.compact-hero { margin-bottom:22px; }
.capture-card { border-color:#315744; background:linear-gradient(135deg, rgba(99,215,165,.12), var(--panel) 55%); display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; }
.capture-copy h2 { font-size:1.55rem; margin-bottom:8px; }
.capture-copy p { margin-bottom:0; max-width:660px; }
.capture-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; align-items:center; }
.capture-form { margin:0; }
.hidden-file { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.big-action { padding:14px 20px; font-size:1rem; }
.button.ghost { background:transparent; border-color:transparent; color:var(--muted); }
.capture-progress { grid-column:1/-1; border-top:1px solid var(--line); padding-top:14px; }
.small-note { margin-bottom:0; }
.workflow-row { flex-wrap:wrap; }
.capture-success { max-width:720px; margin:5vh auto 0; text-align:center; }
.success-icon { width:72px; height:72px; border-radius:999px; display:grid; place-items:center; margin:0 auto 20px; background:var(--accent); color:#07150f; font-size:2rem; font-weight:900; }
.capture-summary { text-align:left; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:28px; }
.capture-summary div { display:flex; flex-direction:column; gap:5px; }
.capture-done-actions { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
.document-list { display:grid; gap:12px; }
.document-card { border:1px solid var(--line); background:var(--panel); border-radius:16px; padding:16px; display:grid; grid-template-columns:52px minmax(0,1fr) auto; gap:14px; align-items:center; }
.document-card:hover { border-color:#405164; background:#18212b; }
.doc-icon { width:48px; height:48px; border-radius:12px; background:var(--panel2); display:grid; place-items:center; font-size:.82rem; font-weight:800; }
.doc-main,.doc-meta { min-width:0; display:flex; flex-direction:column; gap:4px; }
.doc-main span,.doc-meta small { font-size:.82rem; color:var(--muted); }
.doc-meta { align-items:flex-end; }
.truncate { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.empty-state { text-align:center; padding:42px 20px; }
.document-workspace { display:grid; grid-template-columns:minmax(300px,.85fr) minmax(420px,1.15fr); gap:18px; align-items:start; }
.document-preview-card { position:sticky; top:84px; }
.receipt-preview { width:100%; max-height:70vh; object-fit:contain; background:#fff; border-radius:10px; }
.pdf-preview { width:100%; min-height:65vh; border:0; border-radius:10px; background:#fff; }
.inline-status { margin:8px 0 0; display:inline-block; padding:7px 10px; }
.extracted-text summary { cursor:pointer; font-weight:700; }
.extracted-text pre { margin:16px 0 0; padding:16px; background:#0b1016; border:1px solid var(--line); border-radius:10px; white-space:pre-wrap; overflow-wrap:anywhere; max-height:420px; overflow:auto; color:#c8d2dc; }
.match-list { display:grid; gap:10px; }
.match-card { display:grid; grid-template-columns:90px minmax(0,1fr) auto auto; align-items:center; gap:14px; padding:14px; border:1px solid var(--line); border-radius:14px; }
.match-green { border-color:#2c6a4f; }.match-yellow { border-color:#6b5929; }.match-red { border-color:#6d3036; }
.match-score { display:flex; flex-direction:column; }.match-score strong { font-size:1.2rem; }.match-score span,.match-data span,.match-data small { color:var(--muted); font-size:.78rem; }
.match-data { min-width:0; display:flex; flex-direction:column; gap:3px; }.match-data span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.match-amount { font-weight:800; white-space:nowrap; }
.matched-box { display:grid; grid-template-columns:1fr auto auto; gap:14px; align-items:center; border:1px solid #2c6a4f; border-radius:14px; padding:16px; background:rgba(99,215,165,.06); }
.matched-box > div:first-child { display:flex; flex-direction:column; gap:4px; }.matched-box span { color:var(--muted); font-size:.82rem; }
.status-captured,.status-ready_for_match { color:#f0cd7b; border-color:#6b5929; }
.status-matched { color:#8ce6bb; border-color:#2c6a4f; }
@media (max-width:900px) {
  .capture-card,.document-workspace { grid-template-columns:1fr; }
  .capture-actions { justify-content:flex-start; }
  .document-preview-card { position:static; }
  .pdf-preview { min-height:55vh; }
}
@media (max-width:620px) {
  .topbar-inner { flex-wrap:wrap; padding:10px 0; }
  .topnav { width:100%; margin-left:0; }
  .capture-card { padding:18px; }
  .capture-actions,.capture-form,.capture-actions .button { width:100%; }
  .capture-actions .button { text-align:center; display:block; }
  .capture-summary { grid-template-columns:1fr; }
  .document-card { grid-template-columns:44px minmax(0,1fr); }
  .doc-meta { grid-column:2; align-items:flex-start; }
  .match-card { grid-template-columns:70px 1fr; }
  .match-amount,.match-card form { grid-column:2; }
  .match-card form .button { width:100%; }
  .matched-box { grid-template-columns:1fr; }
}
.status-box.warning { background:rgba(244,200,106,.08); border-color:#6b5929; color:#f0cd7b; }
.capture-warning { grid-column:1/-1; margin:0; }

/* V0.3 receipt pipeline + UX fixes */
.min-width-zero { min-width:0; }
.filename-safe,.capture-summary-file strong { min-width:0; overflow-wrap:anywhere; word-break:break-word; }
.capture-summary > div { min-width:0; }
.analysis-head { align-items:flex-start; }
.tiny-note { font-size:.8rem; margin:.5rem 0 0; }
.analysis-note { color:var(--accent) !important; }
.error-text { color:#ff9b9b !important; }
.doc-open { margin-top:5px; padding:7px 11px; font-size:.8rem; color:var(--text); }
.confidence { display:inline-flex; vertical-align:middle; margin-left:5px; padding:2px 6px; border-radius:999px; border:1px solid var(--line); font-size:.68rem; font-weight:800; }
.confidence-high { color:#8ce6bb; border-color:#2c6a4f; }
.confidence-medium { color:#f0cd7b; border-color:#6b5929; }
.confidence-low { color:#ff9b9b; border-color:#6d3036; }
.confidence-manual { color:#9dbfff; border-color:#35527c; }
.cash-account-field[hidden] { display:none; }
.field small { font-size:.75rem; }
.bank-raw-details { margin-top:12px; border-top:1px solid var(--line); padding-top:12px; color:var(--muted); }
.bank-raw-details summary { cursor:pointer; font-weight:700; color:var(--text); }
.bank-raw-details p { overflow-wrap:anywhere; }
.finalize-card { border-color:#33475b; }
.status-ready_for_cash,.status-analyzed { color:#f0cd7b; border-color:#6b5929; }
.status-imported { color:#9dbfff; border-color:#35527c; }
.table-hint { margin:.2rem 0 0; font-size:.82rem; }

/* BUG-003: core columns remain visible on normal desktop widths */
.import-preview-card { overflow:visible; }
.import-table-wrap { overflow-x:visible; }
.import-table { width:100%; min-width:0; table-layout:fixed; }
.import-table .col-select { width:3%; }
.import-table .col-row { width:5%; }
.import-table .col-date { width:10%; }
.import-table .col-partner { width:18%; }
.import-table .col-description { width:31%; }
.import-table .col-amount { width:11%; }
.import-table .col-status { width:11%; }
.import-table .col-firefly { width:11%; }
.import-table th,.import-table td { overflow:hidden; }
.cell-clamp { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; overflow:hidden; overflow-wrap:anywhere; }
.partner-cell { -webkit-line-clamp:3; line-clamp:3; }
.bank-description summary { list-style:none; cursor:pointer; }
.bank-description summary::-webkit-details-marker { display:none; }
.bank-description summary::after { content:'Details'; display:inline-block; margin-top:4px; color:var(--muted); font-size:.7rem; }
.bank-description[open] summary::after { content:'Weniger'; }
.bank-description-full { margin-top:7px; padding:8px; border-radius:8px; background:#0b1016; overflow-wrap:anywhere; font-size:.78rem; color:#c8d2dc; }
.firefly-id-cell { white-space:nowrap; text-overflow:ellipsis; }

@media (max-width:900px) {
  .import-table-wrap { overflow-x:auto; }
  .import-table { min-width:840px; }
}
@media (max-width:620px) {
  .doc-open { display:inline-flex; }
  .capture-summary-file strong { max-width:100%; }
}

/* V0.4 desktop capture, history, splits and cost tree */
.receipt-drop-form { grid-column:1/-1; margin:0; }
.receipt-dropzone { min-height:110px; border:1.5px dashed #486071; border-radius:14px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:6px; background:#10171f; cursor:pointer; text-align:center; padding:18px; transition:.18s; }
.receipt-dropzone:hover,.receipt-dropzone.dragging { border-color:var(--accent); background:#13231d; }
.receipt-dropzone span { color:var(--muted); font-size:.84rem; }
.import-history-list { display:grid; gap:12px; }
.import-history-card { margin:0; display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:18px; align-items:center; }
.import-history-main { min-width:0; display:flex; flex-direction:column; gap:5px; }
.import-history-main span { color:var(--muted); font-size:.84rem; }
.import-history-counts { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; align-items:center; color:var(--muted); font-size:.8rem; }
.split-rows { display:grid; gap:9px; }
.split-row { display:grid; grid-template-columns:130px minmax(180px,1fr) minmax(240px,1.3fr) 42px; gap:9px; align-items:center; }
.split-row input,.split-row select { width:100%; }
.split-summary { margin-top:14px; display:flex; flex-wrap:wrap; gap:18px; padding:12px 14px; background:#10171f; border:1px solid var(--line); border-radius:12px; font-variant-numeric:tabular-nums; }
.split-actions { display:flex; gap:12px; align-items:center; margin-top:12px; flex-wrap:wrap; }
.saved-splits { display:grid; gap:8px; }
.saved-splits > div { display:flex; justify-content:space-between; gap:14px; border-top:1px solid var(--line); padding:10px 0; }
.saved-splits span { display:flex; flex-direction:column; gap:3px; }.saved-splits small { color:var(--muted); }
.cost-layout { align-items:start; }
.cost-tree { display:grid; gap:4px; }
.cost-tree-row { display:flex; justify-content:space-between; gap:16px; padding:9px 10px 9px calc(10px + (var(--depth) * 22px)); border-radius:9px; border:1px solid transparent; }
.cost-tree-row:hover { background:#111820; border-color:var(--line); }
.cost-name { min-width:0; }.cost-code { display:inline-block; min-width:58px; color:var(--muted); font-variant-numeric:tabular-nums; }
.form-stack { display:grid; gap:13px; }
.cost-booking-list { display:grid; }
.cost-booking-row { display:flex; justify-content:space-between; gap:16px; padding:11px 0; border-top:1px solid var(--line); }
.cost-booking-row span { display:flex; flex-direction:column; gap:3px; }.cost-booking-row small { color:var(--muted); }
@media (max-width:800px) {
  .receipt-drop-form { display:none; }
  .import-history-card { grid-template-columns:1fr; }
  .import-history-counts { justify-content:flex-start; }
  .split-row { grid-template-columns:1fr; border:1px solid var(--line); padding:12px; border-radius:12px; }
}


/* V0.4.1 UI hotfix: cache-busted assets, clearer history/tree/dropzone and start shortcuts */
.receipt-dropzone { min-height:142px; border-width:2px; }
.receipt-dropzone .drop-icon { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:rgba(99,215,165,.12); color:var(--accent); font-size:1.55rem; font-weight:900; }
.receipt-dropzone strong { font-size:1.02rem; }
.receipt-dropzone:focus-within { border-color:var(--accent); box-shadow:0 0 0 3px rgba(99,215,165,.1); }

.shortcut-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-bottom:18px; }
.shortcut-card { margin:0; display:grid; grid-template-columns:52px minmax(0,1fr) auto; align-items:center; gap:15px; min-height:112px; transition:.16s ease; }
.shortcut-card:hover { border-color:#405164; transform:translateY(-1px); background:#18212b; }
.shortcut-icon { width:48px; height:48px; border-radius:13px; display:grid; place-items:center; background:var(--panel2); color:var(--accent); font-size:1.3rem; font-weight:900; }
.shortcut-copy { min-width:0; display:flex; flex-direction:column; gap:4px; }
.shortcut-copy .eyebrow { margin:0; font-size:.66rem; }
.shortcut-copy strong { font-size:1.15rem; }
.shortcut-copy small { color:var(--muted); line-height:1.35; }
.shortcut-arrow { color:var(--muted); font-size:1.4rem; }

.import-history-list { display:grid; gap:12px; width:100%; }
.import-history-card { margin:0; width:100%; min-width:0; display:grid; grid-template-columns:minmax(280px,1fr) minmax(330px,auto) 96px; gap:18px; align-items:center; }
.import-history-main { min-width:0; }
.import-history-title { display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:800; }
.import-history-title:hover { color:var(--accent); }
.import-history-counts { min-width:0; }
.import-total { white-space:nowrap; }
.import-open { text-align:center; }

.cost-tree { display:grid; gap:5px; }
.cost-tree-row { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:14px; padding:10px 12px 10px calc(12px + (var(--depth) * 24px)); border-radius:10px; border:1px solid transparent; }
.cost-tree-row:nth-child(odd) { background:rgba(255,255,255,.012); }
.cost-tree-row:hover { background:#111820; border-color:var(--line); }
.cost-tree-label { min-width:0; display:grid; grid-template-columns:20px 70px minmax(0,1fr); align-items:center; gap:8px; }
.tree-marker { color:#536273; font-size:.78rem; text-align:center; }
.cost-code { min-width:0; color:var(--muted); font-variant-numeric:tabular-nums; font-size:.82rem; }
.cost-name { min-width:0; overflow-wrap:anywhere; }
.cost-total { white-space:nowrap; font-variant-numeric:tabular-nums; color:#dce8f3; }

@media (max-width:900px) {
  .shortcut-grid { grid-template-columns:1fr; }
  .import-history-card { grid-template-columns:1fr auto; }
  .import-history-counts { grid-column:1/-1; justify-content:flex-start; }
}
@media (max-width:620px) {
  .shortcut-card { grid-template-columns:44px minmax(0,1fr) auto; }
  .shortcut-icon { width:42px; height:42px; }
  .import-history-card { grid-template-columns:1fr; }
  .import-open { width:100%; }
  .cost-tree-row { padding-left:calc(8px + (var(--depth) * 12px)); }
  .cost-tree-label { grid-template-columns:16px 58px minmax(0,1fr); gap:5px; }
}


/* V0.4.2: inbox/archive filters, inline cost tree, split workflow */
.compact-card{padding:14px 18px}.filter-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.filter-chip{display:inline-flex;gap:7px;align-items:center;color:var(--muted);cursor:pointer}.filter-chip input{accent-color:var(--accent)}[hidden]{display:none!important}.match-disabled{opacity:.58}.split-detail-body{padding-top:18px}.split-card>summary{cursor:pointer;list-style:none}.split-card>summary::-webkit-details-marker{display:none}.split-card>summary::before{content:'▸';display:inline-block;margin-right:8px;color:var(--muted)}.split-card[open]>summary::before{content:'▾'}.split-summary-v042{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.split-summary-v042>div{display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#10171f}.split-summary-v042 span{font-size:.78rem;color:var(--muted)}.split-rest-ok strong{color:var(--accent)}.split-rest-bad strong{color:var(--danger)}
.cost-toolbar{align-items:flex-start}.cost-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.cost-tree-v042{display:grid;gap:2px}.cost-node{min-width:0}.cost-row{display:grid;grid-template-columns:26px 62px minmax(0,1fr) 120px auto auto;gap:9px;align-items:center;padding:9px 10px 9px calc(10px + (var(--depth) * 18px));border-radius:10px}.cost-row:hover{background:#111820}.cost-toggle{appearance:none;border:0;background:transparent;color:#9eb3c7;font-size:1rem;cursor:pointer}.cost-toggle:disabled{cursor:default}.cost-node-name{min-width:0;display:flex;flex-direction:column;gap:2px}.cost-node-name small{color:var(--muted);font-size:.7rem}.cost-total{text-align:right;white-space:nowrap}.cost-children{border-left:1px solid #263846;margin-left:22px}.cost-inline-create{margin:4px 0 10px calc(44px + (var(--depth,0) * 12px));padding:12px;border:1px solid #294154;border-radius:12px;background:#101820}.cost-inline-grid{display:grid;grid-template-columns:minmax(180px,1fr) 150px minmax(180px,.8fr) auto auto;gap:10px;align-items:end}.cost-inherited{color:var(--muted);font-size:.78rem;padding-bottom:11px}.cost-root-create>summary{cursor:pointer;font-weight:800}.cost-root-form{padding-top:16px}.cost-root-action{justify-content:end}.inline-form{margin:0}
@media(max-width:800px){.split-summary-v042{grid-template-columns:1fr}.cost-row{grid-template-columns:22px 50px minmax(0,1fr) auto;padding-left:6px}.cost-row>.cost-total{grid-column:3}.cost-row>.cost-add{grid-column:4;grid-row:1}.cost-row>.inline-form,.cost-row>button:last-child{grid-column:3/-1;justify-self:start}.cost-children{margin-left:8px}.cost-inline-grid{grid-template-columns:1fr}.cost-inline-create{margin-left:0}}

/* V0.4.2.2: searchable cost assignment for split and non-split receipts */
.cost-picker{display:grid;gap:7px;min-width:0}
.cost-picker-search,.cost-picker-select{width:100%}
.cost-picker-hint{font-size:.72rem;line-height:1.3}
.cost-assignment-card{display:grid;gap:14px}
.cost-assignment-form{display:grid;gap:14px}
.cost-assignment-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.cost-metadata-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cost-metadata-preview>div{display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#10171f}
.cost-metadata-preview span{font-size:.78rem;color:var(--muted)}
.cost-metadata-preview strong{overflow-wrap:anywhere}
@media(max-width:800px){.cost-metadata-preview{grid-template-columns:1fr}.cost-assignment-actions .button{width:100%}}

/* V0.4.2.4 – manuelle Ausgaben ohne Belegdatei */
.page-head-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.manual-entry-card { max-width:900px; }
.manual-entry-note { margin:18px 0; }
.manual-document-placeholder { min-height:360px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:34px; }
.manual-document-icon { width:76px; height:76px; border-radius:22px; display:grid; place-items:center; font-size:34px; background:#172231; border:1px solid #2b3a4c; margin-bottom:18px; }
.manual-document-placeholder h2 { margin:0 0 8px; }
.manual-document-placeholder p { max-width:34rem; }
@media (max-width:780px) {
  .page-head-actions { width:100%; }
  .page-head-actions .button { flex:1 1 auto; text-align:center; }
  .manual-document-placeholder { min-height:220px; }
}

.manual-firefly-link {
  margin-top: 0.75rem;
  display: flex;
  gap: 0.75rem;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.manual-firefly-link p { margin: 0; }

/* V0.4.2.9 data maintenance */
.compact-hero { margin-bottom:20px; }
.maintenance-message { margin-bottom:16px; }
.maintenance-filter { display:grid; grid-template-columns:180px 180px minmax(260px,1fr) auto; gap:12px; align-items:end; }
.check-row { display:flex; gap:10px; align-items:flex-start; padding:10px 0; color:var(--text); }
.check-row input { margin-top:4px; width:18px; height:18px; }
.maintenance-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:16px 0; }
.maintenance-kpis .card { display:flex; flex-direction:column; gap:4px; }
.maintenance-kpis strong { font-size:1.6rem; }
.maintenance-kpis span { color:var(--muted); }
.maintenance-list { display:grid; gap:8px; }
.maintenance-row { display:grid; grid-template-columns:28px minmax(0,1fr) auto auto; gap:12px; align-items:center; padding:12px; border:1px solid var(--line); border-radius:12px; background:#111820; cursor:pointer; }
.maintenance-row:hover { border-color:#465a6d; }
.maintenance-row > input { width:18px; height:18px; }
.maintenance-main { display:flex; flex-direction:column; min-width:0; gap:3px; }
.maintenance-main strong,.maintenance-main small { overflow-wrap:anywhere; }
.maintenance-main small { color:var(--muted); }
.warning-text { color:#f0cd7b !important; }
.maintenance-protected { color:#ffb0b0; border-color:#6d3036; }
.maintenance-reset-zone { border-color:#36546f; background:rgba(50,91,125,.08); }
.maintenance-reset-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:12px 0 14px; }
.maintenance-reset-grid>div { display:flex; flex-direction:column; gap:4px; padding:12px; border:1px solid var(--line); border-radius:10px; background:#10171f; }
.maintenance-reset-grid strong { font-size:1.45rem; }
.maintenance-reset-grid span { color:var(--muted); font-size:.88rem; }
.maintenance-reset-note { line-height:1.65; margin:12px 0; }
.maintenance-danger-zone { border-color:#6d3036; background:rgba(130,36,45,.08); }
.danger-check { margin:8px 0; padding:12px; border:1px solid #6d3036; border-radius:10px; background:rgba(130,36,45,.12); }
.confirm-field { max-width:360px; margin:14px 0; }
@media(max-width:800px){
  .maintenance-filter { grid-template-columns:1fr; }
  .maintenance-kpis { grid-template-columns:1fr 1fr; }
  .maintenance-reset-grid { grid-template-columns:1fr 1fr; }
  .maintenance-row { grid-template-columns:26px minmax(0,1fr); }
  .maintenance-row > .badge { grid-column:2; justify-self:start; }
}
@media(max-width:520px){ .maintenance-reset-grid { grid-template-columns:1fr; } }
.import-history-actions { display:flex; gap:8px; align-items:center; }
@media(max-width:800px){ .import-history-actions { justify-content:flex-start; } }


/* V0.4.3.0 – Multi-User Login */
.user-menu { display:flex; align-items:center; gap:8px; margin-left:2px; }
.user-chip { display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:999px; padding:6px 10px; font-size:.78rem; color:var(--text); background:#111820; }
.logout-form { margin:0; }
.logout-button { padding:7px 9px; font-size:.78rem; }
.login-shell { min-height:calc(100vh - 170px); display:grid; place-items:center; }
.login-card { width:min(440px,100%); padding:30px; }
.login-card h1 { font-size:2.3rem; margin-bottom:8px; }
.auth-form { display:grid; gap:14px; margin-top:18px; }
.user-settings-grid { align-items:start; }
.user-card { display:grid; gap:16px; }
.user-card .card-head { margin-bottom:0; }
.user-password-form { margin:0; }
.secondary-danger { width:auto; }
@media(max-width:900px){
  .topbar-inner { flex-wrap:wrap; padding:10px 0; }
  .topnav { order:3; width:100%; margin-left:0; overflow-x:auto; padding-bottom:2px; }
  .user-menu { margin-left:auto; }
}
@media(max-width:620px){
  .badge { display:none; }
  .user-chip { max-width:120px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .logout-button { padding:7px; }
  .login-card { padding:22px; }
}
