:root{--ink:#19364a;--muted:#566b79;--nav:#143349;--blue:#155baf;--canvas:#f3f6f9;--line:#d5dfe7;--white:#fff;--danger:#983b30;--success:#27684e;font-family:"Avenir Next","Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--canvas);font-size:15px;line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 17px;border:1px solid transparent;border-radius:6px;font-weight:600;cursor:pointer;text-decoration:none}button:hover,.button:hover{filter:brightness(.96);text-decoration:none}button:disabled{cursor:wait;opacity:.6}.primary{background:var(--blue);color:white}.secondary{background:white;color:var(--ink);border-color:#b8c8d5}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-.7px;line-height:1.2;font-weight:650}h2{font-size:20px;line-height:1.3}h3{font-size:16px}p{color:var(--muted);margin:9px 0;max-width:74ch}small{display:block;color:var(--muted);font-size:12px;margin:6px 0}label{display:block;font-weight:600;font-size:13px;margin:15px 0 6px}input:not([type=checkbox]),select,textarea{display:block;width:100%;border:1px solid #b7c6d1;border-radius:5px;padding:10px 11px;background:white;color:var(--ink);min-height:43px}input[type=file]{font-size:13px}input[type=checkbox]{accent-color:var(--blue);width:18px;height:18px;flex-shrink:0}:focus-visible{outline:3px solid #358bd8;outline-offset:3px}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:var(--nav);color:#dce7ef;padding:30px 23px;display:flex;flex-direction:column}.brand{display:flex;gap:13px;align-items:center;font-size:27px;font-weight:750;color:inherit;letter-spacing:-1px}.brand span{font-size:15px;letter-spacing:0;font-weight:550}.sidebar-group{margin:42px 0 24px}.sidebar-group label{color:#c6d6e2}.sidebar select{font-size:13px;background:#24465c;border-color:#4c687b;color:white}.subtle-link{color:#cbddec;font-size:12px;display:inline-block;margin-top:10px}.sidebar nav a{color:#dce7ef;display:flex;gap:13px;padding:12px 13px;margin:6px -5px;border-radius:5px;font-weight:500}.sidebar nav a[aria-current]{background:#2d536d;color:#fff}.sidebar nav span{font-size:20px;line-height:1}.sidebar-footer{margin-top:auto;font-size:12px;color:#c7d9e5}.dot{display:inline-block;width:7px;height:7px;background:#8fb9c9;border-radius:50%;margin-right:7px}.text-button{background:none;color:inherit;border:0;font-size:12px;padding:12px 0;font-weight:400}.workspace{margin-left:240px;padding:0 40px 25px;max-width:1760px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}.pill{border:1px solid #becdd8;background:white;padding:5px 10px;border-radius:20px;font-size:12px;color:#405c6e}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:34px 0 27px}.upload-section{display:grid;grid-template-columns:1fr minmax(300px,.7fr);gap:40px;background:#e6eff8;border-left:5px solid var(--blue);padding:30px 32px;border-radius:0 7px 7px 0;align-items:center}.upload-section h2{font-size:25px}.upload-form label{margin-top:0}.upload-form button{margin-top:9px;width:100%}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:32px 0 13px}.section-heading span{font-size:12px;color:var(--muted)}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:6px}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{font-size:12px;font-weight:600;color:var(--muted);background:#f9fbfd;padding:12px 18px;border-bottom:1px solid var(--line)}td{padding:18px;border-bottom:1px solid #e4ebf1}tr:last-child td{border-bottom:0}.status{display:inline-flex;white-space:nowrap;align-items:center;gap:5px;padding:4px 9px;border-radius:4px;font-size:12px;background:#e8eef5;color:#335368}.status.review{background:#fff0cf;color:#6c5017}.status.approved{background:#e0f0e7;color:#276044}.status.failed{background:#fae8e4;color:#8e362b}.status.processing,.status.queued{background:#e2edfb;color:#265b95}.empty{text-align:center;padding:40px;color:var(--muted)}.handoff{display:flex;align-items:center;justify-content:space-between;padding:27px 0;gap:25px}.handoff h2{font-size:18px}.handoff p{margin-bottom:3px}.process-strip{display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding:20px 0;font-size:12px;color:var(--muted)}.process-strip span+span:before{content:"›";margin-right:14px;color:#8297a6}.workspace-footer{color:var(--muted);font-size:11px;margin-top:22px}.panel{background:white;border:1px solid var(--line);padding:25px;border-radius:7px;margin-bottom:22px}.panel.narrow{max-width:700px}.panel>form>button{margin-top:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid.three{grid-template-columns:1fr 1fr 1fr}.notice{background:#e5edf4;border-left:4px solid #587e9a;padding:13px 17px;font-size:13px;margin:20px 0}.notice.danger{background:#fbedeb;border-color:var(--danger)}.notice.success{background:#e6f1ec;border-color:var(--success)}.danger-text{color:var(--danger)}.review-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:25px}.document-row{display:flex;align-items:center;gap:17px;padding:24px 0;border-bottom:1px solid var(--line)}.document-row:last-child{border:0}.document-row>div:last-child{margin-left:auto;display:flex;flex-direction:column;gap:10px}.page-marker{min-width:47px;padding:17px 9px;border:1px solid #bdcdda;background:#f3f7fb;border-radius:3px;text-align:center;font-size:12px}.document-row p{margin:3px 0}.back{display:inline-block;font-size:12px;margin-bottom:10px}.document-workspace{display:grid;grid-template-columns:minmax(350px,1.2fr) minmax(350px,1fr);gap:25px;align-items:start}.preview{position:sticky;top:20px}.preview iframe{width:100%;height:720px;border:1px solid #becbd5;border-radius:4px;background:#e0e6ec}.preview>a{display:inline-block;margin:10px 0;font-size:13px}details{font-size:13px;margin:15px 0}summary{cursor:pointer;font-weight:600}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;background:#f4f7fa;padding:15px;max-height:400px;overflow:auto}.hint{font-size:12px;color:#6c5017;background:#fff7e6;padding:9px 12px}.issues{background:#f7f9fb;padding:12px}.issues ul{padding-left:20px}.confirmations{border:0;border-top:1px solid var(--line);margin:23px 0 17px;padding:17px 0 0}.confirmations legend{font-weight:600;font-size:13px;padding-right:8px}.confirmations label{display:flex;gap:10px;align-items:start;font-weight:400;font-size:13px}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:20px 0 12px}.actions form{margin:0}.filename{font-size:13px;overflow-wrap:anywhere}.bank-import{display:grid;grid-template-columns:1fr 1.2fr auto;gap:20px;align-items:end;margin:20px 0}.amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.connection-list{background:white;border:1px solid var(--line);border-radius:7px;margin-bottom:24px}.connection-list article{display:flex;justify-content:space-between;align-items:center;padding:25px;gap:30px;border-bottom:1px solid var(--line)}.connection-list article:last-child{border-bottom:0}.connection-list p{font-size:13px}.timeline article{padding:20px 25px;background:white;border-left:3px solid #b3c9da;border-bottom:1px solid var(--line)}.timeline h2{font-size:16px}.timeline time{font-size:12px;color:var(--muted);display:block;margin-bottom:5px}.welcome{text-align:center;padding:60px 25px;background:white;border:1px solid var(--line);border-radius:7px}.welcome p{margin:15px auto;max-width:60ch}.welcome .actions{justify-content:center}.document-symbol{font-size:53px;color:#5785aa;margin-bottom:10px}.login{max-width:490px;margin:12vh auto;padding:35px;background:white;border:1px solid var(--line);border-radius:8px}.login h1{font-size:27px;margin:30px 0 15px}.login button{width:100%;margin-top:20px}.message{position:fixed;z-index:20;top:18px;left:50%;transform:translateX(-50%);width:min(650px,92vw);padding:17px 25px;box-shadow:0 3px 20px #19364a26;border-radius:7px}.error{background:#fff0ed;border:1px solid #c37367;color:#702b22}.skip{position:absolute;top:-100px;left:260px;background:white;padding:15px;z-index:50}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(max-width:1100px){.workspace{padding:0 24px 24px}.sidebar{width:210px;padding:25px 18px}.workspace{margin-left:210px}.document-workspace{grid-template-columns:1fr}.preview{position:static}.preview iframe{height:480px}.review-layout{grid-template-columns:1fr}.bank-import{grid-template-columns:1fr 1fr}.bank-import button{grid-column:1/-1}.connection-list article{align-items:start}.connection-list .status{white-space:normal}}@media(max-width:760px){.sidebar{position:static;width:auto;padding:18px 20px;display:block}.sidebar .brand{font-size:23px}.sidebar-group{margin:18px 0 8px}.sidebar nav{display:flex;gap:7px;overflow:auto}.sidebar nav a{white-space:nowrap;font-size:13px;padding:9px}.sidebar nav span,.sidebar-footer{display:none}.workspace{margin:0;padding:0 18px 20px}.topbar{height:58px}.page-heading{align-items:start;padding:26px 0;flex-direction:column;gap:14px}h1{font-size:25px}.upload-section{grid-template-columns:1fr;padding:23px;gap:20px}.handoff{align-items:start;flex-direction:column}.process-strip{flex-wrap:wrap;justify-content:start}.document-row{gap:10px}.document-row .button{font-size:12px;padding:8px}.page-marker{min-width:35px}.form-grid.three{grid-template-columns:1fr}.panel{padding:20px}.connection-list article{display:block}.connection-list .status{margin-top:8px}.bank-import{display:block}.bank-import button{margin-top:16px}.document-workspace{grid-template-columns:minmax(0,1fr)}.login{margin:9vh 18px}.skip{left:20px}td,th{padding:13px}.welcome{padding:35px 20px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Belegportal: feste Navigation, ruhige Tabellen und ein zentraler Belegeingang. */
:root { --ink:#253441; --muted:#62727f; --nav:#202b35; --blue:#2259a5; --canvas:#f5f6f8; --line:#dee3e8; font-family:"Avenir Next","Segoe UI",Arial,sans-serif; }
.sidebar { width:234px; padding:24px 14px; overflow-y:auto; }
.sidebar .brand { padding:0 10px 28px; align-items:center; gap:12px; font-size:24px; }
.brand-mark { display:grid; place-items:center; width:40px; height:40px; background:#f0e9d7; color:#283949; border-radius:4px; font-size:19px!important; font-weight:750!important; }
.brand small { color:#aab9c5; font-size:11px; margin:2px 0 0; font-weight:400; }
.sidebar nav a { margin:3px 0; border-radius:4px; padding:12px; gap:12px; font-size:14px; }
.sidebar nav a[aria-current] { background:#344452; box-shadow:inset 3px 0 #c8b785; }
.sidebar nav span { width:22px; text-align:center; color:#a8b6c3; }
.nav-divider { height:1px; margin:20px 12px; background:#46515b; }
.sidebar-footer { padding:24px 12px 0; }
.workspace { margin-left:234px; padding:0 32px 24px; max-width:none; }
.topbar { height:76px; margin:0 -32px; padding:0 32px; background:white; border-bottom:1px solid var(--line); }
.client-context { display:flex; align-items:center; gap:14px; min-width:0; }
.client-context label { margin:0; color:var(--muted); font-size:12px; font-weight:500; }
.client-context select { max-width:490px; min-width:220px; border:0; font-size:14px; background:#f5f6f8; }
.page-heading { padding:30px 0 24px; }
.page-heading h1 { font-size:28px; letter-spacing:-.5px; }
.page-heading p { font-size:13px; margin-bottom:0; }
.workflow-notice { display:flex; align-items:center; gap:18px; padding:20px 24px; background:#e9eef6; border:1px solid #d9e1ed; border-radius:5px; }
.workflow-icon { font-size:30px; color:var(--blue); }
.workflow-notice p { margin:3px 0 0; font-size:13px; }
.workflow-notice button { margin-left:auto; white-space:nowrap; }
.overview-tabs { display:flex; gap:28px; margin-top:24px; border-bottom:1px solid var(--line); }
.overview-tabs a { padding:12px 2px; color:var(--muted); font-weight:600; font-size:14px; }
.overview-tabs a[aria-current] { color:var(--blue); border-bottom:3px solid var(--blue); }
.overview-tabs span { margin-left:6px; background:#e4e9ee; padding:2px 7px; border-radius:4px; font-size:11px; }
.table-tools { display:flex; align-items:center; gap:14px; margin:22px 0 14px; }
.search-field { display:flex; align-items:center; gap:12px; background:white; border:1px solid var(--line); border-radius:5px; flex:1; max-width:480px; margin:0; padding:0 14px; }
.search-field span { font-size:23px; color:var(--muted); }
.search-field input[type=search] { border:0; background:none; padding:11px 0; font-size:13px; min-width:0; }
.table-tools select { width:auto; min-width:155px; font-size:13px; }
.result-count { margin-left:auto; color:var(--muted); font-size:12px; white-space:nowrap; }
.table-wrap { border-radius:5px; }
th { background:#fafbfc; font-size:12px; padding:14px 16px; }
td { font-size:13px; padding:17px 16px; }
.file-link { font-weight:600; }
.empty { padding:60px 24px; }
.empty strong { display:block; color:var(--ink); font-size:17px; }
.empty p { margin:10px auto 20px; max-width:60ch; font-size:13px; }
.empty-icon { display:block; font-size:38px; color:#8298b0; margin-bottom:15px; }
.mapping-details { margin-top:24px; color:var(--muted); }
.mapping-details summary { padding:12px 0; }
.upload-dialog { width:min(850px,calc(100vw - 40px)); max-height:calc(100dvh - 40px); border:1px solid #d4dbe1; border-radius:7px; padding:28px; color:var(--ink); box-shadow:0 20px 60px #101c3345; overflow:auto; }
.upload-dialog::backdrop { background:rgb(20 29 39 / 48%); }
.dialog-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.dialog-heading h2 { font-size:23px; font-weight:600; }
.icon-button { padding:3px 10px; font-size:26px; background:transparent; color:var(--muted); font-weight:400; }
.upload-options { display:grid; grid-template-columns:1.2fr 1.1fr 1fr; gap:15px; align-items:start; }
.upload-options label { font-size:12px; margin:0 0 7px; }
.upload-options select,.upload-options input { font-size:12px; min-width:0; }
#upload-client-search { margin-top:8px; min-height:35px; padding:6px 10px; }
#period-label { margin-top:8px; }
.upload-guidance { padding:16px 18px; margin:22px 0; background:#eef2f8; border-radius:4px; font-size:13px; }
.upload-guidance p { margin:6px 0; }
.upload-guidance small { margin-bottom:0; }
.dropzone { border:2px dashed #ccd4dd; border-radius:5px; padding:24px; text-align:center; background:#fafbfc; }
.dropzone.dragover { border-color:var(--blue); background:#eaf0f9; }
.upload-symbol { display:block; font-size:40px; color:#7c90a7; line-height:1.2; }
.dropzone label { margin:8px 0 16px; font-size:14px; cursor:pointer; }
.dropzone input[type=file] { max-width:500px; margin:auto; background:white; }
.dropzone p { margin:14px auto 0; font-size:12px; overflow-wrap:anywhere; }
.dialog-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:25px; }
#error { z-index:100; }
@media(max-width:1100px) { .workspace { padding-left:22px; padding-right:22px; } .topbar { margin-left:-22px; margin-right:-22px; padding:0 22px; } .workflow-notice { flex-wrap:wrap; } }
@media(max-width:760px) {
  .sidebar { position:static; width:auto; padding:14px; }
  .sidebar .brand { padding:0 6px 12px; }
  .sidebar nav { display:flex; overflow-x:auto; }
  .sidebar nav a { padding:9px 12px; flex-shrink:0; }
  .nav-divider { display:none; }
  .workspace { margin:0; padding:0 16px 20px; }
  .topbar { margin:0 -16px; padding:0 16px; gap:12px; }
  .client-context { flex:1; overflow:hidden; }
  .client-context label { display:none; }
  .client-context select { min-width:0; width:100%; }
  .pill { white-space:nowrap; font-size:10px; }
  .workflow-notice { align-items:flex-start; padding:18px; }
  .workflow-notice button { margin-left:0; }
  .table-tools { flex-wrap:wrap; }
  .search-field { max-width:none; flex-basis:100%; }
  .upload-dialog { padding:20px; width:calc(100vw - 24px); max-height:calc(100dvh - 24px); }
  .upload-options { grid-template-columns:1fr; }
  .upload-options label { margin-top:8px; }
  .dialog-actions { flex-wrap:wrap; }
  .overview-tabs { gap:20px; }
}

.posting-pages{max-height:720px;overflow:auto;background:#e0e6ec;border:1px solid #becbd5;border-radius:4px}.posting-pages figure{margin:0 0 16px}.posting-pages figcaption{padding:8px 12px;font-size:13px}.posting-pages img{display:block;width:100%;height:auto}.posting-pages a{display:block}@media(max-width:1100px){.posting-pages{max-height:480px}}
