:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#171717;background:#f5f5f3}*{box-sizing:border-box}body{margin:0}.shell{max-width:1180px;margin:0 auto;padding:28px 20px 60px}.top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:28px}.top-left{display:flex;align-items:center;gap:12px;min-width:0}.back-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 11px;border:1px solid #deded9;border-radius:9px;background:#fff;color:#222;text-decoration:none;font-weight:650;white-space:nowrap}.back-btn:hover{background:#efefec}.brand{font-size:20px;font-weight:750;color:#111;text-decoration:none;white-space:nowrap}.top nav{display:flex;align-items:center;gap:18px}.top nav a{color:#555;text-decoration:none}.panel{background:#fff;border:1px solid #e5e5e2;border-radius:14px;padding:22px;margin-bottom:18px}.narrow{max-width:620px;margin:48px auto}.toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px;flex-wrap:wrap}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;background:#171717;color:#fff;text-decoration:none;padding:10px 14px;font:inherit;cursor:pointer}.btn.secondary{background:#eee;color:#222}.btn.danger{background:#8a1c1c}.btn.small{padding:7px 10px;font-size:13px}label{display:block;font-weight:650;margin:14px 0 6px}input,select{width:100%;padding:10px 11px;border:1px solid #d4d4d0;border-radius:8px;background:#fff;font:inherit}.inline-select{width:auto;min-width:160px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.muted{color:#6b6b68;font-size:14px}.flash{padding:11px 13px;border-radius:9px;margin:0 0 16px}.flash.ok{background:#edf8ef;color:#20642c}.flash.error{background:#fff0f0;color:#8c2020}.tabs{display:flex;gap:8px;margin:14px 0}.tabs a{padding:8px 11px;border-radius:8px;text-decoration:none;color:#333;background:#efefec}.tabs a.active{background:#171717;color:#fff}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 9px;border-bottom:1px solid #ecece8;vertical-align:middle;font-size:14px}th{color:#6b6b68;font-weight:650}.status-review{font-weight:700;color:#9a5a00}.status-ok{color:#27662f}.filename{max-width:330px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.right{text-align:right}.empty{padding:34px;text-align:center;color:#777}.danger-zone{border-color:#edd1d1}pre{white-space:pre-wrap;max-height:430px;overflow:auto;background:#f5f5f3;border-radius:10px;padding:14px}.account{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 0;border-bottom:1px solid #ecece8}.account:last-child{border-bottom:0}.account strong{display:block}.badge{display:inline-block;background:#eee;padding:4px 8px;border-radius:99px;font-size:12px}.hint{font-size:13px;color:#777;margin-top:6px}.checkbox{display:flex;gap:8px;align-items:center;margin-top:12px}.checkbox input{width:auto}.login-title{margin-top:0}@media(max-width:760px){.grid{grid-template-columns:1fr}.top{align-items:stretch;flex-direction:column;margin-bottom:18px}.top-left{width:100%;justify-content:flex-start}.back-btn{min-height:44px;padding:10px 13px}.brand{font-size:18px;overflow:hidden;text-overflow:ellipsis}.top nav{width:100%;justify-content:flex-end;gap:8px}.top nav a{padding:8px 10px;border-radius:8px;background:#efefec;color:#333}.hide-mobile{display:none}table{display:block;overflow-x:auto}.shell{padding:12px 10px 40px}.panel{padding:16px}.narrow{margin:18px auto}.account{align-items:flex-start;flex-direction:column}.account .actions{width:100%}.account .actions .btn,.account .actions form{flex:1}.account .actions form .btn{width:100%}}

/* v1.5: direkte Belegvorschau */
.document-preview{margin:18px 0 24px;border:1px solid #e5e5e2;border-radius:12px;overflow:hidden;background:#f5f5f3}.preview-frame{display:block;width:100%;height:720px;border:0;background:#fff}.preview-image-wrap{display:flex;justify-content:center;align-items:flex-start;max-height:720px;overflow:auto;padding:10px}.preview-image{display:block;max-width:100%;height:auto}.preview-unavailable{padding:18px}.actions form{margin:0}@media(max-width:760px){.preview-frame{height:68vh;min-height:420px}.preview-image-wrap{max-height:68vh}.toolbar .actions{width:100%}.toolbar .actions>a,.toolbar .actions>form{flex:1}.toolbar .actions>form .btn{width:100%}}

/* v1.6: schneller Pruef-Workflow */
.status-checked{font-weight:700;color:#27662f}.readonly-status{min-height:42px;display:flex;align-items:center;padding:10px 11px;border:1px solid #d4d4d0;border-radius:8px;background:#f5f5f3;color:#333}.document-actions{align-items:center}.document-actions form{display:flex}.document-actions .btn{white-space:nowrap}@media(max-width:760px){.document-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.document-actions>a:first-child{grid-column:1/-1}.document-actions .btn,.document-actions form,.document-actions form .btn{width:100%}}


/* v1.8: mobiler Beleg-Scanner */
.scan-btn{background:#171717}.scan-panel{max-width:720px;margin:20px auto}.scan-intro{margin-bottom:18px}.scan-picker{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.scan-file-input{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.scan-camera-button{font-weight:700;padding:13px 18px;min-height:48px}.scan-preview{display:none;margin-top:18px;border:1px solid #e5e5e2;border-radius:12px;background:#f5f5f3;padding:10px}.scan-preview.is-visible{display:block}.scan-preview img{display:block;max-width:100%;max-height:68vh;margin:0 auto;border-radius:8px;background:#fff}.scan-meta{margin:10px 0 0;color:#666;font-size:13px}.scan-submit{margin-top:14px;display:none}.scan-submit.is-visible{display:flex}.scan-submit .btn{min-height:48px;font-weight:700}.trusted-note{margin-top:16px;padding:11px 13px;border-radius:9px;background:#edf8ef;color:#20642c;font-size:14px}@media(max-width:760px){.scan-panel{margin:0 auto}.scan-picker,.scan-picker .btn,.scan-submit,.scan-submit .btn{width:100%}.scan-camera-button{font-size:17px}.toolbar .scan-btn{order:-1;flex-basis:100%;min-height:46px;font-weight:700}}

/* v1.9: echter Dokument-Scanner mit Auto-Crop und Perspektivkorrektur */
.scan-loading{display:none;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0;padding:13px 14px;border-radius:10px;background:#f5f5f3}.scan-loading.is-visible{display:flex}.scan-loading .muted{width:100%;padding-left:30px}.scan-spinner{width:20px;height:20px;border:3px solid #d8d8d3;border-top-color:#171717;border-radius:50%;animation:scan-spin .8s linear infinite}@keyframes scan-spin{to{transform:rotate(360deg)}}
.scan-result,.scan-editor-section{display:none;margin-top:18px}.scan-result.is-visible,.scan-editor-section.is-visible{display:block}.scan-result-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.scan-badge{background:#edf8ef;color:#20642c}.scan-badge.manual{background:#fff4df;color:#875300}.scan-canvas-wrap{display:flex;justify-content:center;align-items:flex-start;max-height:70vh;overflow:auto;padding:10px;border:1px solid #e5e5e2;border-radius:12px;background:#ededeb}.scan-result-canvas{display:block;max-width:100%;height:auto;border-radius:7px;background:#fff;box-shadow:0 5px 18px rgba(0,0,0,.12)}.scan-result-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.scan-result-actions .btn{min-height:46px}
.scan-editor{position:relative;width:100%;max-height:72vh;overflow:hidden;border:1px solid #d6d6d2;border-radius:12px;background:#222;touch-action:none;user-select:none}.scan-editor img{display:block;width:auto;max-width:100%;height:auto;max-height:72vh;object-fit:contain;margin:auto}.scan-editor svg{position:absolute;width:100%;height:100%;overflow:visible;touch-action:none}.scan-editor polygon{fill:rgba(255,255,255,.08);stroke:#fff;stroke-width:7;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}.scan-handle{fill:#fff;stroke:#171717;stroke-width:6;vector-effect:non-scaling-stroke;cursor:grab;touch-action:none}.scan-handle:active{cursor:grabbing}.scan-camera-button{font-size:16px}
@media(max-width:760px){.scan-result-head{align-items:flex-start}.scan-result-actions{display:grid;grid-template-columns:1fr 1fr}.scan-result-actions .btn:first-child{grid-column:1/-1}.scan-result-actions .btn{width:100%}.scan-editor{max-height:66vh}.scan-editor img{max-height:66vh}.scan-canvas-wrap{max-height:64vh}.scan-loading .muted{padding-left:0}.scan-badge{white-space:nowrap}}
.scan-inline-error{display:none;margin:12px 0;padding:11px 13px;border-radius:9px;background:#fff0f0;color:#8b1d1d;font-size:14px;line-height:1.4}.scan-inline-error.is-visible{display:block}.scan-result-actions{align-items:stretch}@media(max-width:760px){.scan-result-actions{grid-template-columns:1fr 1fr}.scan-result-actions #scan-upload{grid-column:1/-1}.scan-result-actions #scan-original{grid-column:auto}}

/* Beleg-Links: angesehen bleibt in allen Filtern einheitlich sichtbar. */
.document-link:link{color:#0645ad}.document-link:visited{color:#777}.document-link:hover{text-decoration-thickness:2px}

/* v2.2: sichererer Dokument-Scanner und manueller Belegname */
.scan-name-field{margin:16px 0 4px;padding:14px;border:1px solid #e5e5e2;border-radius:10px;background:#fafaf8}.scan-name-field label{margin-top:0}.scan-name-field input{font-size:16px}.scan-editor-section .scan-result-head{padding:10px 12px;border-radius:10px;background:#fff4df}.scan-editor-section .scan-result-head strong{color:#704600}.scan-editor polygon{fill:rgba(23,23,23,.10);stroke:#ffcc33;stroke-width:6}.scan-handle{fill:#ffcc33;stroke:#171717;stroke-width:5}@media(max-width:760px){.scan-name-field{padding:12px}.scan-name-field input{min-height:48px}.scan-editor-section .scan-result-actions{grid-template-columns:1fr}.scan-editor-section .scan-result-actions .btn{grid-column:auto}}

/* v2.4: Belegbilder dauerhaft direkt in der Detailansicht drehen */
.rotate-actions{display:flex;gap:8px;margin:0}.rotate-btn{white-space:nowrap}
@media(max-width:760px){.document-actions .rotate-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;width:100%}.document-actions .rotate-actions .btn{width:100%}.document-actions>a:first-child{grid-column:1/-1}}
/* v2.5 scanner quality controls */
.scan-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 10px}.scan-mode-group{display:flex;gap:4px;padding:4px;border-radius:10px;background:#ececea;overflow-x:auto}.scan-mode{border:0;background:transparent;border-radius:8px;padding:9px 12px;font:inherit;white-space:nowrap;cursor:pointer;color:#444}.scan-mode.is-active{background:#171717;color:#fff;font-weight:700}.scan-rotate-tools{display:flex;gap:6px}.scan-rotate-tools .btn{min-height:40px;padding:8px 11px}@media(max-width:760px){.scan-tools{align-items:stretch}.scan-mode-group{width:100%;display:grid;grid-template-columns:repeat(4,1fr)}.scan-mode{padding:10px 5px;font-size:13px}.scan-rotate-tools{width:100%}.scan-rotate-tools .btn{flex:1}}

/* v2.7: export menu and reliable manual-first scanner */
.export-panel{max-width:720px}.export-options{display:grid;gap:10px;margin:16px 0}.export-option{display:flex;gap:12px;align-items:flex-start;margin:0;padding:13px;border:1px solid #e5e5e2;border-radius:10px;background:#fafaf8;cursor:pointer}.export-option input{width:auto;margin-top:3px}.export-option span{display:block}.export-option strong{display:block;margin-bottom:3px}.export-option small{display:block;color:#6b6b68;line-height:1.35}.export-actions{justify-content:flex-end;margin-top:16px}.scan-magnifier{display:none;position:absolute;right:12px;top:12px;width:132px;height:132px;border:3px solid #fff;border-radius:14px;background:#fff;box-shadow:0 5px 20px rgba(0,0,0,.35);z-index:5;pointer-events:none}.scan-magnifier.is-visible{display:block}@media(max-width:760px){.export-actions{display:grid;grid-template-columns:1fr 1fr}.export-actions .btn{width:100%}.scan-magnifier{width:112px;height:112px;right:8px;top:8px}.scan-editor-section .scan-result-head{background:#edf8ef}.scan-editor-section .scan-result-head strong{color:#20642c}}
\n\n/* v2.8: ruhigere Belegvorschau ohne inneren Scrollkasten */
.document-preview.preview-image-wrap{max-height:none;overflow:visible;align-items:center;justify-content:center;padding:12px;background:#ececea}
.preview-image{display:block;width:auto;max-width:100%;max-height:78vh;height:auto;object-fit:contain;margin:0 auto;box-shadow:0 2px 10px rgba(0,0,0,.08)}
@media(max-width:760px){.document-preview.preview-image-wrap{max-height:none;overflow:visible;padding:8px}.preview-image{max-height:72vh;max-width:100%;object-fit:contain}}

/* v3.1: Live-Dokument-Scanner wie bei einer nativen Scan-App */
.scan-live{display:none;margin:18px 0;padding:12px;border:1px solid #deded9;border-radius:14px;background:#111;color:#fff}.scan-live.is-visible{display:block}.scan-live .muted{color:#cfcfcb}.scan-live-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 2px 10px}.scan-live-dot{width:13px;height:13px;border-radius:50%;background:#888;box-shadow:0 0 0 4px rgba(255,255,255,.08);flex:0 0 auto}.scan-live-dot.is-searching{background:#aaa}.scan-live-dot.is-found{background:#ffcc33}.scan-live-dot.is-stable{background:#34c759}.scan-live-stage{position:relative;width:100%;overflow:hidden;border-radius:12px;background:#000;min-height:240px}.scan-live-stage video{display:block;width:100%;height:auto;max-height:72vh;object-fit:contain;background:#000}.scan-live-stage canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.scan-live-center-hint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);max-width:85%;padding:8px 13px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-size:14px;font-weight:700;text-align:center;backdrop-filter:blur(5px)}.scan-live-progress{height:5px;margin:10px 2px 0;border-radius:999px;background:#333;overflow:hidden}.scan-live-progress span{display:block;width:0;height:100%;background:#ffcc33;transition:width .22s ease,background .2s ease}.scan-live-stage.is-stable + .scan-live-progress span{background:#34c759}.scan-live-actions{display:grid;grid-template-columns:2fr 1fr;gap:8px;margin-top:10px}.scan-live-actions .btn{width:100%;min-height:48px}.scan-shutter{font-size:17px;font-weight:800}.scan-live-actions .btn.is-active{background:#eaf8ee;border-color:#93d5a0;color:#1b652a}.scan-live .hint{color:#bdbdb8;margin-top:9px}.scan-picker .secondary{min-height:48px;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:760px){.scan-live{margin-left:-6px;margin-right:-6px;padding:8px;border-radius:12px}.scan-live-stage video{max-height:68vh}.scan-live-actions{grid-template-columns:1fr 1fr}.scan-live-actions .scan-shutter{grid-column:1/-1;min-height:56px;font-size:19px}.scan-picker{display:grid;grid-template-columns:1fr}.scan-picker .btn{width:100%}.scan-live-center-hint{bottom:12px;font-size:13px}}

/* Scanner v4.0 - rebuilt around a dedicated document-scanning engine */
.scan4-panel{max-width:760px;margin:20px auto}.scan4-start{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.scan4-start .btn{min-height:50px}.scan4-primary{font-weight:800}.scan4-name{margin:14px 0;padding:13px;border:1px solid #e5e5e2;border-radius:11px;background:#fafaf8}.scan4-name label{margin-top:0}.scan4-name input{font-size:16px}.scan4-loading{display:none;align-items:center;gap:12px;margin:14px 0;padding:13px;border-radius:10px;background:#f5f5f3}.scan4-loading.is-visible{display:flex}.scan4-live{display:none;margin:16px 0;padding:10px;border-radius:14px;background:#111;color:#fff}.scan4-live.is-visible{display:block}.scan4-live .muted{color:#ccc}.scan4-live-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 10px}.scan4-live-dot{width:13px;height:13px;border-radius:50%;background:#888;box-shadow:0 0 0 4px rgba(255,255,255,.08)}.scan4-live-dot.is-searching{background:#aaa}.scan4-live-dot.is-found{background:#ffc400}.scan4-live-dot.is-stable{background:#2ecc71}.scan4-stage{position:relative;overflow:hidden;border-radius:12px;background:#000}.scan4-stage video{display:block;width:100%;height:auto;max-height:72vh;object-fit:contain}.scan4-stage canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.scan4-hint{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);max-width:88%;padding:8px 14px;border-radius:999px;background:rgba(0,0,0,.65);color:#fff;text-align:center;font-size:14px;font-weight:700;backdrop-filter:blur(4px)}.scan4-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}.scan4-actions .btn{min-height:46px}.scan4-shutter{flex:2;font-size:17px;font-weight:800}.scan4-actions .is-active{background:#eaf8ee;color:#1b652a;border-color:#93d5a0}.scan4-editor-section,.scan4-result{display:none;margin-top:18px}.scan4-editor-section.is-visible,.scan4-result.is-visible{display:block}.scan4-section-head,.scan4-result-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}.scan4-editor-host{position:relative;min-height:300px;max-height:76vh;border-radius:12px;overflow:hidden;background:#1a1a1a}.scan4-result-wrap{display:flex;justify-content:center;align-items:flex-start;padding:8px;border:1px solid #e5e5e2;border-radius:12px;background:#ededeb;overflow:hidden}.scan4-result-canvas{display:block;width:auto;max-width:100%;height:auto;max-height:none;border-radius:7px;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.12)}.scan4-result-actions .scan4-primary{flex:2}.scan4-result .badge{white-space:nowrap}
@media(max-width:760px){.scan4-panel{margin:0 auto}.scan4-start{display:grid;grid-template-columns:1fr}.scan4-start .btn{width:100%}.scan4-stage video{max-height:68vh}.scan4-actions{display:grid;grid-template-columns:1fr 1fr}.scan4-actions .btn{width:100%}.scan4-shutter,.scan4-result-actions .scan4-primary{grid-column:1/-1;min-height:56px}.scan4-editor-host{max-height:70vh}.scan4-name input{min-height:48px}}
