:root{--bg: #0a0d12;--surface: #131821;--surface-2: #1a212c;--surface-3: #232b38;--border: #232a36;--border-strong: #2f3947;--text: #e6ebf2;--text-dim: #8a94a6;--text-muted: #5a6477;--accent: #4f8cff;--accent-hover: #6ba0ff;--success: #2ecc71;--warning: #f5a623;--danger: #ef4d4d;--pending: #b683ff;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 8px 24px rgba(0, 0, 0, .5);--radius: 10px;--radius-sm: 6px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,system-ui,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit}input{font-family:inherit;font-size:inherit}.app{display:grid;grid-template-columns:240px 1fr;grid-template-rows:56px 1fr;height:100vh;transition:grid-template-columns .18s ease}.app.sidebar-collapsed{grid-template-columns:0 1fr}.app.sidebar-collapsed .sidebar{visibility:hidden;padding:0;border-right:none;overflow:hidden}.sidebar-toggle{width:32px;height:32px;display:grid;place-items:center;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);font-size:16px;margin-right:4px}.sidebar-toggle:hover{background:var(--surface-3);color:var(--text)}.topbar{grid-column:1 / -1;display:flex;align-items:center;padding:0 20px;border-bottom:1px solid var(--border);background:var(--surface);gap:16px;-webkit-app-region:drag}.topbar>*:not(.brand-logo){-webkit-app-region:no-drag}.brand{font-weight:700;font-size:15px;letter-spacing:.2px;display:flex;align-items:center;gap:10px}.brand-logo{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#4f8cff,#b683ff);display:grid;place-items:center;font-weight:800;color:#fff;font-size:13px;box-shadow:var(--shadow-1)}.search{flex:1;max-width:480px;display:flex;align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 12px;gap:8px}.search input{flex:1;background:transparent;border:none;color:var(--text);outline:none}.search-icon{color:var(--text-muted)}.topbar-spacer{flex:1}.user-pill{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px}.avatar{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#4f8cff,#2ecc71);display:grid;place-items:center;font-weight:700;color:#fff;font-size:11px}.sidebar{border-right:1px solid var(--border);background:var(--surface);padding:16px 12px;overflow-y:auto}.sidebar-section{margin-bottom:22px}.sidebar-title{text-transform:uppercase;font-size:11px;letter-spacing:.8px;color:var(--text-muted);padding:0 10px 8px;font-weight:600}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--text-dim);width:100%;text-align:left;font-size:13.5px;transition:background .1s}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:var(--surface-3);color:var(--text);font-weight:600}.nav-item-icon{width:18px;height:18px;display:grid;place-items:center;flex-shrink:0}.nav-count{margin-left:auto;font-size:12px;color:var(--text-muted);background:var(--surface-2);padding:1px 7px;border-radius:10px}.nav-item.active .nav-count{background:var(--accent);color:#fff}.main{overflow-y:auto;padding:24px 28px 40px}.main-header{display:flex;align-items:center;margin-bottom:20px;gap:16px}.main-title{font-size:22px;font-weight:700;margin:0}.main-sub{color:var(--text-muted);font-size:13px;margin-left:12px}.actions{margin-left:auto;display:flex;gap:8px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);font-weight:500;font-size:13px;color:var(--text);transition:background .1s,border-color .1s}.btn:hover{background:var(--surface-3);border-color:var(--border-strong)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-success{background:var(--success);color:#fff;border-color:var(--success)}.btn-ghost{background:transparent}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.stat-label{color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px}.stat-value{font-size:22px;font-weight:700;margin-bottom:2px}.stat-sub{font-size:12px;color:var(--text-dim)}.stat-value.warn{color:var(--warning)}.stat-value.bad{color:var(--danger)}.stat-value.good{color:var(--success)}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}table{width:100%;border-collapse:collapse;font-size:13.5px}thead{background:var(--surface-2);border-bottom:1px solid var(--border)}th{text-align:left;padding:10px 14px;color:var(--text-muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.4px}td{padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .08s}tbody tr:hover{background:var(--surface-2)}.title-cell{font-weight:600}.sub-cell{font-size:12px;color:var(--text-muted);margin-top:2px}.amount{font-variant-numeric:tabular-nums;font-weight:600}.amount.muted{color:var(--text-muted);font-weight:400}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:10px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.badge.open{background:#f5a62326;color:var(--warning)}.badge.paid{background:#2ecc7126;color:var(--success)}.badge.review{background:#b683ff26;color:var(--pending)}.badge.active{background:#4f8cff26;color:var(--accent)}.badge.expired{background:#ef4d4d26;color:var(--danger)}.badge.cancelled{background:#8a94a626;color:var(--text-dim)}.dot{width:6px;height:6px;border-radius:50%;display:inline-block}.workflow{display:inline-flex;gap:4px}.wf-step{display:grid;place-items:center;width:26px;height:22px;border-radius:5px;border:1px solid var(--border);font-size:11px;font-weight:700;color:var(--text-muted);background:var(--surface-2)}.wf-step.done{background:#2ecc712e;color:var(--success);border-color:#2ecc714d}.wf-step.warn{background:#f5a62326;color:var(--warning);border-color:#f5a6234d}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px}.tab{padding:9px 14px;color:var(--text-dim);border-bottom:2px solid transparent;margin-bottom:-1px;font-weight:500;font-size:13.5px}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.confidence{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--text-muted)}.confidence.low{color:var(--warning)}.empty{padding:60px 20px;text-align:center;color:var(--text-muted)}.uploader{border:1.5px dashed var(--border-strong);border-radius:var(--radius);padding:18px 20px;text-align:center;margin-bottom:18px;background:var(--surface);color:var(--text-dim);font-size:13px;transition:border-color .15s,background .15s}.uploader:hover{border-color:var(--accent);background:var(--surface-2);color:var(--text);cursor:pointer}.login-shell{height:100vh;display:grid;place-items:center;background:radial-gradient(1200px 700px at 30% 20%,rgba(79,140,255,.18),transparent 70%),radial-gradient(900px 500px at 80% 90%,rgba(182,131,255,.14),transparent 70%),var(--bg)}.login-card{width:420px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px 26px;box-shadow:var(--shadow-2)}.brand-large{display:flex;align-items:center;gap:14px;margin-bottom:22px}.brand-logo-large{width:44px;height:44px;font-size:20px;border-radius:12px}.login-title{font-size:20px;font-weight:700}.login-sub{color:var(--text-muted);font-size:13px}.login-tabs{margin-bottom:14px}.form{display:flex;flex-direction:column;gap:12px}.field{display:flex;flex-direction:column;gap:6px}.field>span{color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.field input,.field select,.field textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:9px 12px;font-size:14px;outline:none;transition:border-color .1s,background .1s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);background:var(--surface-3)}.btn-block{width:100%;justify-content:center}.form-error{color:var(--danger);font-size:13px;background:#ef4d4d14;border:1px solid rgba(239,77,77,.25);border-radius:6px;padding:8px 10px}.link{background:transparent;color:var(--text-muted);font-size:12.5px;border:none;text-align:left;padding:4px 0;cursor:pointer}.link:hover{color:var(--text)}.api-settings{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.api-settings input{flex:1;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:6px 10px;font-size:12.5px}.reach.ok{color:var(--success);font-size:12px}.reach.bad{color:var(--danger);font-size:12px}.demo-pill{background:#b683ff2e;color:var(--pending);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;padding:4px 8px;border-radius:6px}.conn{font-size:12px;color:var(--text-muted)}.conn.bad{color:var(--danger)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#02050999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;z-index:50;animation:fade-in .12s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{width:min(560px,92vw);max-height:86vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-2);overflow:hidden}.modal-header{display:flex;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:17px;font-weight:700;flex:1}.icon-btn{background:transparent;font-size:22px;width:32px;height:32px;border-radius:8px;color:var(--text-muted);display:grid;place-items:center}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.modal-body{padding:18px;overflow-y:auto}.modal-footer{padding:12px 18px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}.upload-drop{border:1.5px dashed var(--border-strong);border-radius:var(--radius);padding:28px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.upload-drop:hover,.upload-drop.drag{border-color:var(--accent);background:var(--surface-2)}.file-name{font-weight:600}.file-size{font-size:12px;color:var(--text-muted);margin-top:4px}.detail-panel{position:fixed;top:56px;right:0;bottom:0;width:min(540px,100vw);background:var(--surface);border-left:1px solid var(--border);z-index:40;overflow-y:auto;box-shadow:-16px 0 40px #0000004d;animation:slide-in .18s ease-out}@keyframes slide-in{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.detail-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;padding:14px 18px;background:var(--surface);border-bottom:1px solid var(--border)}.detail-title{flex:1;font-weight:700;font-size:16px}.detail-summary{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px 18px;border-bottom:1px solid var(--border)}.detail-summary .iban-row{grid-column:1 / -1}.kv-label{color:var(--text-muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}.workflow-section{padding:16px 18px;border-bottom:1px solid var(--border)}.section-title{font-size:13px;font-weight:700;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}.action-row{display:flex;gap:8px;flex-wrap:wrap}.paid-banner{background:#2ecc711f;border:1px solid rgba(46,204,113,.3);color:var(--success);padding:10px 12px;border-radius:8px;display:flex;align-items:center;gap:12px}.qr-display{margin-top:14px;background:#fff;border-radius:10px;padding:12px;text-align:center}.qr-display img{max-width:280px;height:auto}.qr-help{color:var(--text-muted);font-size:12.5px;margin-top:6px;text-align:left;background:var(--surface);border-radius:6px;padding:8px 10px}.med-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.med-tile{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:12px 10px;text-align:center;transition:all .12s}.med-tile:hover{background:var(--surface-3);border-color:var(--border-strong)}.med-tile.done{background:#2ecc711f;border-color:#2ecc7166}.med-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;margin:0 auto 6px;background:var(--surface-3);color:var(--text-muted);font-weight:700}.med-tile.done .med-icon{background:var(--success);color:#fff}.med-label{font-weight:600;font-size:13px}.med-sub{font-size:11px;color:var(--text-muted);margin-top:2px}.kv-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.hint{margin:12px 18px;padding:10px 12px;border-radius:6px;background:var(--surface-2);color:var(--text-dim);font-size:13px}.hint-bad{color:var(--danger);background:#ef4d4d14}.raw-text{margin:16px 18px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;overflow:hidden}.raw-text summary{padding:10px 14px;cursor:pointer;font-weight:500;font-size:13px}.raw-text pre{margin:0;padding:12px 14px;font-size:11.5px;white-space:pre-wrap;max-height:240px;overflow-y:auto;border-top:1px solid var(--border);font-family:ui-monospace,monospace}.detail-footer{padding:16px 18px;border-top:1px solid var(--border);display:flex;justify-content:flex-end}.danger{color:var(--danger)}.danger:hover{background:#ef4d4d1f}.sepa-summary{display:flex;justify-content:space-between;align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:14px}.amount-big{font-size:22px;font-weight:700}.sepa-list{list-style:none;margin:0 0 14px;padding:0;border:1px solid var(--border);border-radius:10px;overflow:hidden;max-height:200px;overflow-y:auto}.sepa-list li{display:flex;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border);font-size:13px}.sepa-list li:last-child{border-bottom:none}.confirm-paid{text-align:center;padding:12px 4px}.company-pill{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#4f8cff1f;border:1px solid rgba(79,140,255,.3);color:var(--accent);border-radius:8px;font-size:12.5px;font-weight:600}.company-pill .link{color:var(--accent);font-weight:700;font-size:16px;padding:0;line-height:1}.company-search{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:9px 12px;font-size:14px}.detail-preview{padding:12px 18px 4px;border-bottom:1px solid var(--border)}.preview-skel{height:220px;display:grid;place-items:center;background:var(--surface-2);border-radius:8px;color:var(--text-muted);font-size:13px}.preview-img{width:100%;max-height:360px;object-fit:contain;background:#fff;border-radius:8px;display:block;cursor:zoom-in;border:1px solid var(--border)}.preview-pdf{width:100%;height:480px;border:1px solid var(--border);border-radius:8px;background:#fff}.preview-actions{display:flex;gap:4px;align-items:center;font-size:12.5px;color:var(--text-muted);margin-top:8px;padding:4px 0}.preview-actions .link{color:var(--text-dim)}.preview-actions .link:hover{color:var(--text)}.zoom-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#020509eb;display:grid;place-items:center;z-index:100;cursor:zoom-out;animation:fade-in .12s ease-out}.zoom-img{max-width:95vw;max-height:95vh;object-fit:contain;box-shadow:0 10px 40px #0009;border-radius:4px}.children-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.children-list li{display:flex;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border);font-size:13.5px}.children-list li:last-child{border-bottom:none}.child-row{background:#f5a6230a}.child-row:hover{background:#f5a62314!important}.child-row td{font-size:13px}.expand-toggle{display:inline-grid;place-items:center;width:18px;height:18px;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;font-size:9px;color:var(--text-dim);margin-right:8px;padding:0;cursor:pointer}.expand-toggle:hover{background:var(--surface-3);color:var(--text)}.manual-edit-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:10px 18px;background:var(--surface-2);border-bottom:1px solid var(--border);font-size:13px}.inline-field{display:flex;align-items:center;gap:6px}.inline-field>span{color:var(--text-muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;font-weight:600}.inline-field select{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:5px 8px;font-size:13px}.inline-toggle{display:flex;align-items:center;gap:5px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 10px;border-radius:6px;background:var(--surface);border:1px solid var(--border);font-size:12.5px}.inline-toggle input[type=checkbox]{margin:0}.star-btn{font-size:22px!important}.folder-tree{padding:0 4px}.folder-tree-head{display:flex;align-items:center;padding:0 10px 6px}.folder-add-btn{width:22px;height:22px;border-radius:4px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);font-weight:700;font-size:14px}.folder-add-btn:hover{background:var(--surface-3);color:var(--text)}.folder-row{display:flex;align-items:center;height:26px;border-radius:5px;padding-right:4px;font-size:13px}.folder-row.active{background:var(--surface-3)}.folder-row:hover{background:var(--surface-2)}.folder-row:hover .folder-actions{opacity:1}.folder-toggle{width:16px;text-align:center;color:var(--text-muted);font-size:10px;padding:0}.folder-name{flex:1;text-align:left;color:var(--text-dim);padding:4px 6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.folder-row.active .folder-name{color:var(--text);font-weight:600}.folder-count{margin-left:6px;font-size:11px;color:var(--text-muted);background:var(--surface-2);padding:0 6px;border-radius:8px}.folder-actions{display:flex;gap:2px;opacity:0;transition:opacity .1s}.folder-action{width:18px;height:18px;border-radius:3px;background:transparent;color:var(--text-muted);font-size:11px;padding:0}.folder-action:hover{background:var(--surface-3);color:var(--text)}.prompt-input{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:10px 12px;font-size:14px;outline:none}.prompt-input:focus{border-color:var(--accent);background:var(--surface-3)}.folder-path-chip{color:var(--accent);font-size:11.5px;background:#4f8cff1a;border:1px solid rgba(79,140,255,.22);padding:1px 7px;border-radius:8px}.archive-row{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap}.archive-hint{color:var(--text-muted);font-size:12px;flex:1;min-width:200px}.archive-state{color:var(--success);font-weight:600;font-size:14px;flex:1}.bar-stack{display:flex;height:8px;background:var(--surface-2);border-radius:4px;overflow:hidden}.bar-refund{background:var(--success);min-width:1px}.bar-net{background:var(--warning);min-width:1px}.month-bars{display:flex;align-items:flex-end;gap:8px;padding:16px 16px 12px;height:220px}.month-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;min-width:36px}.month-bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center}.month-bar{width:70%;max-width:36px;background:linear-gradient(180deg,var(--accent),rgba(79,140,255,.5));border-radius:4px 4px 0 0;transition:opacity .1s}.month-bar:hover{opacity:.85}.month-label{font-size:11px;color:var(--text-muted);margin-top:6px;font-weight:600}.month-amount{font-size:10.5px;color:var(--text-dim);margin-top:2px;font-variant-numeric:tabular-nums}
