#page-ausgaben { --expense-line:rgba(169,183,199,.18); }
#invoice-dialog {width:min(840px,calc(100vw - 24px));max-height:90vh;overflow:auto;background:#131d28;color:#fff;border:1px solid #38536a;border-radius:12px;padding:24px;margin:auto}
#invoice-dialog [hidden] {display:none!important}
#invoice-dialog::backdrop {background:#000b}
#invoice-dialog h2 {font:40px 'Bebas Neue',sans-serif;margin:0 0 8px}
#invoice-dialog header p {font-size:13px;color:#a9b7c7}
#invoice-dialog .invoice-eyebrow {font-size:11px;color:#38b6ff;text-transform:uppercase;letter-spacing:.12em}
#invoice-progress {font-size:13px;color:#38b6ff;min-height:36px}
.invoice-candidate {display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:14px;align-items:start;padding:18px 0;border-top:1px solid #38536a;cursor:pointer;font-size:14px}
.invoice-candidate input {accent-color:#38b6ff;width:18px;height:18px;margin-top:2px}
.invoice-candidate strong {overflow-wrap:anywhere}.invoice-meta,.invoice-result {display:block;font-size:12px;color:#a9b7c7;margin-top:5px;overflow-wrap:anywhere}
.invoice-result {color:#b8dff5}.invoice-amount {font-weight:bold;white-space:nowrap}.invoice-known {opacity:.65;cursor:default}
#invoice-dialog footer {position:sticky;bottom:-24px;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:18px 0;background:#131d28;border-top:1px solid #38536a}
#invoice-dialog button:disabled {opacity:.45;cursor:not-allowed}
@media(max-width:540px){#invoice-dialog {padding:16px}.invoice-candidate {grid-template-columns:20px minmax(0,1fr);gap:10px}.invoice-amount {grid-column:2}#invoice-dialog footer {bottom:-16px}#invoice-dialog footer .btn {width:100%}}
#mail-context-menu {position:fixed;z-index:10000;padding:5px;background:#18232e;border:1px solid #38536a;border-radius:8px;box-shadow:0 12px 36px #0008;max-width:calc(100vw - 16px)}
#mail-context-menu[hidden] {display:none}
#mail-context-menu button {border:0;background:transparent;color:#fff;padding:12px 16px;font:inherit;font-size:13px;cursor:pointer;border-radius:4px;text-align:left}
#mail-context-menu button:hover,#mail-context-menu button:focus-visible {background:#243d50;outline:2px solid #38b6ff;outline-offset:-2px}
.expense-heading {display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.expense-heading h1 {margin:0;font:clamp(36px,5vw,60px) 'Bebas Neue',sans-serif;letter-spacing:.03em}
.expense-heading p {color:var(--text2);margin:4px 0}
.expense-summary {padding:26px 28px;background:linear-gradient(110deg,#182c3b,#131d28);border-left:4px solid #38b6ff;display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:16px}
.expense-summary label,.expense-label {display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#a9b7c7;margin-bottom:5px}
#expense-total {font:clamp(32px,4vw,52px) 'Bebas Neue',sans-serif;color:#fff;overflow-wrap:anywhere}
#expense-count,#expense-open {color:#a9b7c7;font-size:12px}
.expense-toolbar {display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.expense-row {display:grid;grid-template-columns:100px minmax(120px,1fr) 135px minmax(190px,auto);gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid var(--expense-line)}
.expense-row strong {font-size:14px}.expense-provider {min-width:0;overflow-wrap:anywhere}.expense-row small {display:block;color:#a9b7c7;font-size:11px;margin-top:5px}
.expense-actions {display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.expense-empty {padding:40px 20px;text-align:center;border:1px dashed var(--expense-line);color:#a9b7c7}
.expense-setup {margin-top:30px;padding:16px;border:1px solid var(--expense-line);border-radius:8px}.expense-setup summary {cursor:pointer}.expense-setup form {display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.expense-setup input {flex:1;min-width:160px}
#expense-status {color:#a9b7c7;font-size:12px}#expense-message {min-height:24px;color:#38b6ff;overflow-wrap:anywhere}
.expense-disclaimer {color:#a9b7c7;font-size:12px;margin-top:20px}
#expense-dialog {width:min(520px,calc(100% - 24px));max-height:90vh;overflow:auto;background:#131d28;color:#fff;border:1px solid #38536a;border-radius:12px;padding:24px;margin:auto}#expense-dialog::backdrop {background:rgba(0,0,0,.75)}
#expense-form {display:grid;gap:14px}#expense-form label {display:grid;gap:5px;font-size:12px}#expense-form input,#expense-form textarea,.expense-setup input,#expense-year {background:#090d12;color:#fff;border:1px solid #38536a;border-radius:5px;padding:10px;max-width:100%;min-width:0}
#expense-dialog-error {color:#ffaaaa}#page-ausgaben [aria-busy=true] {opacity:.8}
@media(max-width:850px){.expense-row {grid-template-columns:90px 1fr}.expense-actions {justify-content:flex-start}.expense-summary {padding:18px;align-items:flex-start;flex-direction:column}}

.expense-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:16px 0}.expense-filters[hidden]{display:none}.expense-filters label{display:grid;gap:6px;font-size:12px;flex:1 1 140px;min-width:0}.expense-filters .expense-search{flex-basis:100%}.expense-filters input,.expense-filters select{width:100%;box-sizing:border-box;background:#090d12;color:#fff;border:1px solid #38536a;border-radius:5px;padding:10px;min-width:0}.expense-undated{font-size:12px;display:block;margin:12px 0}.expense-row{grid-template-columns:90px minmax(110px,1fr) minmax(120px,1fr) 110px minmax(140px,auto)}.expense-description{overflow-wrap:anywhere}
#expense-import-dock{position:fixed;right:22px;bottom:20px;z-index:10020;width:min(430px,calc(100vw - 32px));box-sizing:border-box;background:#182c3b;border:1px solid #38b6ff;border-left:5px solid #38b6ff;border-radius:10px;padding:20px;box-shadow:0 12px 50px #000b}#expense-import-dock[hidden],#expense-import-dock [hidden]{display:none}#expense-import-dock>strong{letter-spacing:.12em;color:#38b6ff;font-size:12px}#expense-import-text{font-size:14px;line-height:1.6;margin:10px 0}#expense-import-bar{width:100%;height:10px;accent-color:#38b6ff;margin-bottom:12px}#expense-import-dock>div{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:1100px){.expense-row{grid-template-columns:90px 1fr 1fr}.expense-actions{grid-column:2/-1;justify-content:flex-start}}
@media(max-width:600px){.expense-row{grid-template-columns:90px minmax(0,1fr)}.expense-description{grid-column:2}.expense-actions{grid-column:1/-1}#expense-import-dock{right:16px;bottom:12px;padding:14px}}
