.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-shell__topbar{flex-shrink:0}.app-shell__content{flex:1;overflow:hidden;position:relative}.app-shell__footer{flex-shrink:0}.view-panel{display:none;height:100%;overflow:hidden}.view-panel--active{display:flex;flex-direction:column}.dev-toolbar{display:flex;align-items:center;gap:8px;padding:6px 16px;background:#fff3cd;border-bottom:1px solid #ffc107;font-size:11px;color:#856404}.dev-toolbar span{font-weight:600;margin-right:4px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:48px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.topbar-left{display:flex;align-items:center;gap:16px}.logo{font-family:var(--mono);font-weight:600;font-size:14px;letter-spacing:-.3px;display:flex;align-items:center;gap:6px;color:var(--primary)}.logo-icon{width:22px;height:22px;object-fit:contain}.topbar-divider{width:1px;height:24px;background:var(--border)}.tab-bar{display:flex;gap:2px;background:var(--surface-warm);border-radius:6px;padding:2px;border:1px solid var(--border-light)}.tab{padding:4px 12px;border-radius:4px;font-size:12.5px;font-weight:500;cursor:pointer;color:var(--text-secondary);transition:all .15s;border:none;background:none;font-family:var(--sans)}.tab:hover{color:var(--text)}.tab.active{background:var(--primary);color:#fff;box-shadow:0 1px 3px #52267a40}.topbar-right{display:flex;align-items:center;gap:6px}.topbar-link{padding:4px 10px;font-size:12px;color:var(--text-secondary);text-decoration:none;border-radius:5px;transition:all .15s;cursor:pointer;font-family:var(--sans);border:none;background:none}.topbar-link:hover{color:var(--primary);background:var(--primary-faint)}.topbar-link svg{width:14px;height:14px;vertical-align:-2px;margin-right:3px}.avatar{width:28px;height:28px;border-radius:50%;background:var(--muted-light);color:var(--muted-dark);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;cursor:pointer;border:1.5px solid var(--border);transition:border-color .15s}.avatar:hover{border-color:var(--primary)}.period-dropdown-wrapper{position:relative}.period-badge{font-family:var(--sans);font-size:11.5px;color:var(--text-muted);padding:3px 8px;background:var(--surface-warm);border:1px solid var(--border-light);border-radius:var(--radius);white-space:nowrap;cursor:pointer;display:flex;align-items:center;gap:0;transition:border-color .15s,background .15s,color .15s}.period-badge:hover{border-color:var(--primary);color:var(--text)}.period-badge--open{border-color:var(--primary);background:var(--primary-faint);color:var(--text)}.period-badge__label{font-weight:500;color:var(--text-secondary);margin-right:4px}.period-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;box-shadow:0 4px 12px #00000014;min-width:360px}.mandant-select{display:flex;align-items:center;gap:6px;cursor:pointer;padding:4px 10px;border-radius:6px;border:1px solid var(--border);background:var(--surface);font-family:var(--sans);font-size:12.5px;color:var(--text);transition:all .15s;position:relative}.mandant-select:hover{border-color:var(--primary-border);background:var(--surface-alt)}.mandant-select .mandant-label{font-size:10px;color:var(--text-muted);margin-right:2px}.mandant-select .mandant-name{font-weight:600}.mandant-select .mandant-chevron{font-size:10px;color:var(--text-muted);margin-left:4px}.mandant-dropdown{display:none;position:absolute;top:calc(100% + 4px);left:0;min-width:240px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);z-index:100;overflow:hidden}.mandant-dropdown.open{display:block}.mandant-dropdown .dd-header{padding:8px 12px;font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-light)}.mandant-dropdown .dd-item{padding:8px 12px;font-size:12.5px;cursor:pointer;transition:background .1s;display:flex;align-items:center;justify-content:space-between}.mandant-dropdown .dd-item:hover{background:var(--bright-mid)}.mandant-dropdown .dd-item.active{background:var(--bright);font-weight:600}.mandant-dropdown .dd-item .dd-client-name{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.mandant-dropdown .dd-item .dd-check{color:var(--primary);font-size:13px}.mandant-dropdown .dd-item .dd-gear{background:none;border:none;cursor:pointer;font-size:14px;padding:2px 4px;opacity:.35;transition:opacity .15s;flex-shrink:0;color:var(--text);line-height:1}.mandant-dropdown .dd-item .dd-gear:hover{opacity:.85}.mandant-dropdown .dd-footer{padding:8px 12px;border-top:1px solid var(--border-light);font-size:11px;color:var(--primary);cursor:pointer;font-weight:500}.mandant-dropdown .dd-footer:hover{background:var(--primary-faint)}.keyboard-hints{padding:6px 20px;display:flex;gap:14px;font-size:10px;color:var(--text-muted);border-top:1px solid var(--border-light);flex-shrink:0;background:var(--surface-warm)}.keyboard-hints kbd{font-family:var(--mono);font-size:9px;background:var(--surface);border:1px solid var(--border);padding:1px 4px;border-radius:3px;margin-right:2px;box-shadow:0 1px 0 var(--border-light)}.belegliste{display:flex;flex-direction:column;flex:1;overflow:hidden;height:100%}.list-header{padding:12px 20px 10px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.list-header h2{font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px;font-family:var(--sans);color:var(--text)}.list-header .count{font-weight:400;color:var(--text-muted);font-size:13px}.list-actions{display:flex;gap:8px;align-items:center}.btn-upload{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid var(--primary-border);background:var(--primary-faint);color:var(--primary);font-family:var(--sans);transition:all .15s}.btn-upload:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-upload svg{width:13px;height:13px;stroke:currentColor}.btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:var(--sans);transition:all .15s}.btn kbd{font-family:var(--mono);font-size:9px;background:#0000000f;padding:1px 4px;border-radius:3px;margin-left:1px}.pipeline-summary{display:flex;gap:4px;align-items:center}.pipeline-dot{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:12px;font-weight:500;font-size:10.5px;font-family:var(--sans)}.pipeline-dot.processing{background:#f3eef8;color:var(--primary)}.pipeline-dot.ready{background:var(--bright);color:#3a7a7a}.pipeline-dot.warning{background:var(--amber-bg);color:var(--amber)}.pipeline-dot.error{background:var(--red-light);color:var(--red)}.filter-bar{padding:0 20px 8px;display:flex;gap:6px;align-items:center;flex-shrink:0}.filter-label{font-size:11px;color:var(--text-muted);font-family:var(--sans);margin-right:2px}.filter-chip{padding:3px 10px;border-radius:20px;font-size:11px;font-weight:500;border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:all .15s;font-family:var(--sans);color:var(--text-secondary)}.filter-chip:hover{border-color:var(--primary-border);color:var(--primary)}.filter-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.section-label{padding:6px 10px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--surface-warm);border-bottom:1px solid var(--border-light);border-top:1px solid var(--border-light)}.section-label.ready-section{color:var(--primary);background:var(--primary-faint);border-color:var(--primary-border)}.section-label.processing-section{color:var(--text-muted)}.section-label.error-section{color:var(--red);background:var(--red-light);border-color:#f0d0d0}.table-wrapper{flex:1;overflow-y:auto;padding:0 20px}.beleg-table{width:100%;border-collapse:collapse;font-size:12.5px}.beleg-table thead th{text-align:left;padding:6px 10px;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:2}.beleg-table thead th.r{text-align:right}.beleg-table thead th.c{text-align:center}.beleg-table tbody tr{cursor:pointer;transition:background .1s,opacity .3s;border-bottom:1px solid var(--border-light);height:44px}.beleg-table tbody tr:hover{background:var(--bright-mid)}.beleg-table tbody tr.selected{background:var(--bright);box-shadow:inset 3px 0 0 var(--primary)}.beleg-table td{padding:0 10px;vertical-align:middle;height:44px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.beleg-table td.r{text-align:right}.beleg-table td.c{text-align:center}tr.row-processing{opacity:.45;background:var(--surface-warm);cursor:default}tr.row-processing:hover{opacity:.55;background:var(--surface-alt)}tr.row-ready{opacity:1;background:var(--surface);cursor:pointer}tr.row-ready:hover{background:var(--bright-mid)}tr.row-ready.selected{background:var(--bright);box-shadow:inset 3px 0 0 var(--primary)}tr.row-error{opacity:.7;background:#fefafa}tr.section-header-row{cursor:default;background:transparent!important;height:auto!important}tr.section-header-row:hover{background:transparent!important}.status-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.status-dot.green{background:var(--green)}.status-dot.amber{background:var(--amber)}.status-dot.red{background:var(--red)}.check-cell{display:flex;align-items:center;gap:6px}.checkbox{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--border-strong);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;flex-shrink:0}.checkbox.checked{background:var(--primary);border-color:var(--primary);color:#fff}.checkbox.checked:after{content:"✓";font-size:10px;font-weight:700}.checkbox.disabled{opacity:.2;cursor:default}.phase-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:4px;font-size:10px;font-weight:500;white-space:nowrap;font-family:var(--sans)}.phase-badge.pending{background:#f0f0f0;color:#aaa}.phase-badge.processing{background:var(--primary-faint);color:var(--primary)}.phase-badge.ready{background:var(--bright);color:#3a7a7a}.phase-badge.error{background:var(--red-light);color:var(--red)}.buchung-einzeiler{font-family:var(--mono);font-size:11px;color:var(--text-secondary);display:flex;align-items:center;gap:4px;flex-wrap:nowrap;overflow:hidden;text-overflow:ellipsis}.buchung-einzeiler .konto{font-weight:600;color:var(--primary)}.buchung-einzeiler .konto-name{color:var(--text-muted);font-weight:400}.buchung-einzeiler .an{color:var(--text-muted);font-weight:400;font-style:italic}.buchung-einzeiler .steuer{font-family:var(--sans);font-size:10px;background:var(--primary-faint);color:var(--primary);padding:1px 5px;border-radius:3px;font-weight:500}.betrag{font-family:var(--mono);font-weight:600;font-size:12px;color:var(--text)}.lieferant{font-weight:500;color:var(--text)}.lieferant-unknown{color:var(--red);font-style:italic;font-weight:400}.datum{color:var(--text-secondary);font-size:12px}.placeholder{display:inline-block;height:12px;border-radius:3px;background:var(--border-light)}.placeholder.w-date{width:58px}.placeholder.w-name{width:100px}.placeholder.w-amount{width:65px}.placeholder.w-booking{width:140px}.pending-label{font-size:11px;color:var(--text-muted);font-style:italic;font-family:var(--sans)}.filename-label{font-size:11px;color:var(--text-muted);font-family:var(--mono);font-weight:400}.progress-bar-container{padding:8px 20px;border-top:1px solid var(--border-light);display:flex;align-items:center;gap:14px;flex-shrink:0;background:var(--surface);font-size:11px;color:var(--text-secondary);font-family:var(--sans)}.progress-label{color:var(--text-muted);font-size:11px}.progress-track{flex:1;max-width:240px;height:4px;background:var(--border-light);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--primary);border-radius:2px;transition:width .6s ease}.progress-stats{display:flex;gap:10px}.progress-stats span{display:flex;align-items:center;gap:3px}.row-progress{display:flex;gap:2px;align-items:center;margin-top:3px}.row-progress-step{width:14px;height:2.5px;border-radius:1px;background:var(--border-light);transition:background .5s ease}.row-progress-step.filled{background:var(--primary);opacity:.5}.row-progress-step.current{background:var(--primary);opacity:.8}.row-progress-step.error-fill{background:var(--red);opacity:.5}.beleg-table tbody tr.focused{outline:2px solid var(--primary);outline-offset:-2px;background:var(--bright)}@keyframes row-returned-flash{0%{background-color:var(--amber-bg, #fef3c7)}70%{background-color:var(--amber-bg, #fef3c7)}to{background-color:transparent}}.beleg-table tbody tr.row--returned{animation:row-returned-flash 1s ease-out forwards}.belegliste-loading{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text-muted);font-family:var(--sans);font-size:13px}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.beleg-table tbody tr.row-ready,.beleg-table tbody tr.row-error{animation:fadeIn .2s ease both}.beleg-table tbody tr:nth-child(1){animation-delay:.02s}.beleg-table tbody tr:nth-child(2){animation-delay:.04s}.beleg-table tbody tr:nth-child(3){animation-delay:.06s}.beleg-table tbody tr:nth-child(4){animation-delay:.08s}.beleg-table tbody tr:nth-child(5){animation-delay:.1s}.beleg-table tbody tr:nth-child(6){animation-delay:.12s}.beleg-table tbody tr:nth-child(7){animation-delay:.14s}.beleg-table tbody tr:nth-child(8){animation-delay:.16s}.confirm-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0006;display:flex;align-items:center;justify-content:center}.confirm-dialog{background:var(--surface);border-radius:var(--radius);padding:20px 24px;max-width:340px;width:90%;box-shadow:0 8px 24px #0000001f}.confirm-dialog__message{font-size:.9rem;color:var(--text);margin-bottom:16px;line-height:1.4;margin-top:0}.confirm-dialog__actions{display:flex;gap:8px;justify-content:flex-end}.confirm-dialog__cancel{border:1px solid var(--border);background:none;border-radius:var(--radius);padding:6px 14px;font-size:.8rem;cursor:pointer;color:var(--text-secondary);font-family:var(--sans)}.confirm-dialog__cancel:hover{background:var(--surface-alt)}.confirm-dialog__confirm{background:var(--red, #dc2626);color:#fff;border:none;border-radius:var(--radius);padding:6px 14px;font-size:.8rem;cursor:pointer;font-weight:600;font-family:var(--sans)}.confirm-dialog__confirm:hover{opacity:.9}.beleg-detail{height:100%;display:flex;flex-direction:column;background:var(--surface);overflow:hidden}.detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;border-bottom:1px solid var(--border-light);background:var(--surface);flex-shrink:0}.detail-header__left{display:flex;align-items:center;gap:10px;min-width:0}.detail-header__label{font-size:.85rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-header__status{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--text-muted);margin-left:8px;vertical-align:middle}.detail-header__status--success{background:var(--green)}.detail-header__status--warning{background:var(--amber)}.detail-header__status--error{background:var(--red)}.detail-header__status--neutral{background:var(--text-muted)}.stage-error-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--red);color:#fff;font-size:.7rem;font-weight:600;font-family:var(--sans);line-height:1}.detail-header__right{display:flex;align-items:center;gap:6px;flex-shrink:0}.btn-freigeben{background:var(--green, #22c55e);color:#fff;border:1px solid transparent;padding:4px 14px;border-radius:4px;font-size:12px;font-family:var(--sans);font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;white-space:nowrap}.btn-freigeben:hover:not(:disabled){background:#16a34a}.btn-freigeben:disabled{cursor:default;opacity:.6}.btn-freigeben--done{background:#22c55e26;color:var(--green, #22c55e);cursor:default}.detail-body{flex:1;min-height:0;overflow:hidden}.detail-right-panel{height:100%}.detail-right-panel>div{height:100%}.detail-resize-handle{width:4px;background:var(--border-light);cursor:col-resize;flex-shrink:0;position:relative;transition:background .15s ease;display:flex;align-items:center;justify-content:center}.detail-resize-handle:hover,.detail-resize-handle[data-separator=active]{background:var(--primary)}.detail-resize-handle__grip{display:none;flex-direction:column;align-items:center;gap:3px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.detail-resize-handle:hover .detail-resize-handle__grip{display:flex}.detail-resize-handle__grip span{display:block;width:3px;height:3px;border-radius:50%;background:var(--text-muted)}.detail-resize-handle:hover .detail-resize-handle__grip span,.detail-resize-handle[data-separator=active] .detail-resize-handle__grip span{background:#fff}.detail-pdf-panel{height:100%;overflow:auto;background:var(--surface-alt)}.detail-pdf-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-secondary);font-size:.9rem}.detail-pdf-placeholder__filename{font-family:var(--mono);font-size:.8rem;color:var(--text-muted)}.detail-form-panel{height:100%;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px;position:relative}.detail-stage-placeholder{font-size:.85rem;color:var(--text-muted);font-style:italic}.beleg-detail-loading{height:100%;display:flex;gap:4px}.beleg-detail-skeleton{background:linear-gradient(90deg,var(--surface-warm) 25%,var(--surface-alt) 50%,var(--surface-warm) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease infinite;border-radius:var(--radius)}.beleg-detail-skeleton--pdf{flex:0 0 45%;height:100%}.beleg-detail-skeleton-form{flex:1;padding:16px;display:flex;flex-direction:column;gap:8px}.beleg-detail-skeleton--stage{height:48px;width:100%;border-radius:var(--radius)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.beleg-detail-empty,.beleg-detail-error{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-secondary);font-size:.95rem}.beleg-detail-empty__hint,.beleg-detail-error__hint{font-size:.8rem;color:var(--text-muted)}.beleg-detail-error{color:var(--red)}@keyframes slide-left{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}@keyframes slide-right{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.beleg-detail--slide-left{animation:slide-left .2s ease-out forwards}.beleg-detail--slide-right{animation:slide-right .2s ease-out forwards}@keyframes flash-fade{0%{opacity:1}60%{opacity:.8}to{opacity:0}}.confirm-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:#22c55e14;display:flex;align-items:center;justify-content:center;z-index:20;pointer-events:none;animation:flash-fade .3s ease-out forwards;border-radius:var(--radius)}.confirm-flash__icon{width:48px;height:48px;color:var(--green, #22c55e);opacity:.7}.confirm-flash__icon svg{width:100%;height:100%}.collapsible-stage{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;flex-shrink:0;background:var(--surface)}.collapsible-stage__header{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--surface-alt);cursor:pointer;font-weight:600;font-size:.85rem;font-family:var(--sans);color:var(--text);border:none;border-bottom:1px solid var(--border);text-align:left;transition:background .1s ease}.collapsible-stage__header:hover{background:var(--primary-faint)}.collapsible-stage__title{flex:1}.collapsible-stage__actions{display:flex;align-items:center;gap:6px}.collapsible-stage__icon{display:flex;align-items:center;color:var(--text-secondary)}.collapsible-stage__chevron{display:flex;align-items:center;color:var(--text-muted);transition:transform .15s ease-out;transform:rotate(0)}.collapsible-stage__chevron--open{transform:rotate(180deg)}.collapsible-stage__body{transition:max-height .15s ease-out;overflow:hidden}.collapsible-stage__content{padding:16px}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors:active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors:active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}.pdf-viewer{height:100%;position:relative;overflow:hidden;background:var(--surface-alt)}.pdf-viewer__document{height:100%;overflow:auto}.pdf-toolbar{position:absolute;bottom:16px;left:50%;transform:translate(-50%) translateY(4px);z-index:15;display:flex;align-items:center;gap:4px;padding:4px 12px;background:#2c2c2cbf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.pdf-viewer:hover .pdf-toolbar,.pdf-toolbar:focus-within{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.pdf-toolbar__btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#fff;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .1s ease;padding:0}.pdf-toolbar__btn:hover{background:#ffffff26}.pdf-toolbar__btn:disabled{opacity:.35;cursor:not-allowed}.pdf-toolbar__btn:disabled:hover{background:transparent}.pdf-toolbar__page{font-family:var(--mono);font-size:.8rem;color:#fff;padding:0 8px;white-space:nowrap;-webkit-user-select:none;user-select:none}.pdf-toolbar__sep{width:1px;height:16px;background:#fff3;margin:0 2px;flex-shrink:0}.pdf-viewer__document .react-pdf__Page{display:flex;justify-content:center}.pdf-viewer__document .react-pdf__Page canvas{height:auto!important}.pdf-viewer__document{position:relative}.pdf-viewer__overlay{position:absolute;pointer-events:none;z-index:10;background:#52267a26;border:2px solid rgba(82,38,122,.4);border-radius:3px;transition:opacity .2s ease;animation:highlight-pulse 1.5s ease-in-out}@keyframes highlight-pulse{0%{background:#52267a26}50%{background:#52267a40}to{background:#52267a26}}.pdf-viewer--loading,.pdf-viewer--error{display:flex;align-items:center;justify-content:center}.pdf-viewer__loading-text{color:var(--text-muted);font-size:.9rem}.pdf-viewer__error-text{color:var(--red);font-size:.9rem}.confidence-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-left:4px;vertical-align:middle}.confidence-dot--extracted{background-color:#22c55e}.belegdaten-form{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;padding:12px 0}.belegdaten-field{display:flex;flex-direction:column;gap:2px}.belegdaten-field label{font-size:.78rem;color:var(--text-secondary);font-weight:500;font-family:var(--sans);line-height:1.3}.belegdaten-field input,.belegdaten-field select{font-size:.85rem;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--sans);color:var(--text);background:var(--bg);line-height:1.4;transition:border-color .12s ease,box-shadow .12s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none}.belegdaten-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%239da5b0'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:24px}.belegdaten-field input:focus,.belegdaten-field select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px var(--primary-faint)}.belegdaten-field input::placeholder{color:var(--text-muted);opacity:.5;font-style:italic}.belegdaten-field--mono input{font-family:var(--mono)}.belegdaten-field--readonly input{background:var(--surface-alt);color:var(--text-secondary);cursor:not-allowed;border-color:var(--border-light)}.belegdaten-field--readonly input:focus{border-color:var(--border-light);box-shadow:none}.belegdaten-field--error input,.belegdaten-field--error select{border-color:var(--red)}.belegdaten-field--error input:focus,.belegdaten-field--error select:focus{border-color:var(--red);box-shadow:0 0 0 2px var(--red-light)}.belegdaten-validation-list{grid-column:1 / -1;display:flex;flex-direction:column;gap:4px;margin-bottom:8px;padding:8px 10px;background:color-mix(in srgb,var(--red) 8%,transparent);border-radius:4px;border-left:3px solid var(--red)}.belegdaten-validation-list__item{display:flex;align-items:baseline;gap:6px;font-size:.78rem;color:var(--red);line-height:1.4}.belegdaten-validation-list__icon{flex-shrink:0}.belegdaten-validation-list__text{font-family:var(--sans)}.belegdaten-field__error{font-size:.72rem;color:var(--red);margin-top:2px;line-height:1.3}.belegdaten-parties-save{grid-column:1 / -1;display:flex;justify-content:flex-end;padding:2px 0 4px}.belegdaten-parties-save__btn{font-size:.8rem;padding:5px 14px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;font-family:var(--sans);font-weight:500;transition:opacity .12s ease}.belegdaten-parties-save__btn:hover{opacity:.9}.belegdaten-parties-save__btn:disabled{opacity:.5;cursor:not-allowed}.plausibility-warnings{grid-column:1 / -1;margin-top:4px;padding:8px 10px;border-top:1px solid var(--border)}.plausibility-warnings h5{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin:0 0 6px}.plausibility-warning{display:flex;align-items:baseline;gap:6px;font-size:.8rem;line-height:1.4;padding:4px 8px;margin-bottom:4px;border-left:3px solid var(--amber, #f59e0b);background:color-mix(in srgb,var(--amber, #f59e0b) 8%,transparent);border-radius:2px;color:var(--text)}.plausibility-warning__icon{flex-shrink:0;color:var(--amber, #f59e0b)}.plausibility-warning__persisted{font-size:.72rem;color:var(--text-muted);font-style:italic}.belegdaten-field__value{font-size:.85rem;padding:6px 8px;border:1px solid var(--border-light);border-radius:var(--radius);font-family:var(--sans);color:var(--text-secondary);background:var(--surface-alt);line-height:1.4;min-height:1.4em}.belegdaten-field__input--mono{font-family:var(--mono)}.belegdaten-field__source{display:block;font-size:.72rem;color:var(--text-muted);font-style:italic;margin-top:2px}.belegdaten-field--error input{border-color:var(--amber)}.currency-warning{display:flex;align-items:center;gap:8px;padding:8px 12px;border-left:3px solid var(--amber);background:color-mix(in srgb,var(--amber) 8%,transparent);border-radius:4px;font-size:.8rem;color:var(--text)}.currency-warning__icon{color:var(--amber);font-size:1rem;flex-shrink:0}.extraction-retry-badge{display:inline-flex;align-items:center;font-size:.72rem;color:var(--text-muted);background:var(--surface-alt);padding:2px 8px;border-radius:var(--radius);font-style:italic}.ust-trace-summary{margin-top:.5rem;font-size:.85rem;color:var(--color-text-secondary, #6b7280)}.ust-trace-summary__toggle{cursor:pointer;font-size:.82rem;color:var(--color-text-muted, #9ca3af);-webkit-user-select:none;user-select:none}.ust-trace-summary__toggle:hover{color:var(--color-text-secondary, #6b7280)}.ust-trace-summary__body{padding:.375rem 0 .25rem .25rem}.ust-trace-summary__hint{font-style:italic;color:var(--color-text-muted, #9ca3af);margin:0}.ust-trace-summary__scenario{margin:0 0 .375rem;font-size:.83rem;color:var(--color-text, #111827)}.ust-trace-badge{display:inline-block;margin-left:.5rem;padding:.1rem .4rem;border-radius:3px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.ust-trace-badge--confirmed{background-color:#dcfce7;color:#166534}.ust-trace-badge--probable{background-color:#fef3c7;color:#92400e}.ust-trace-badge--fallback{background-color:#fee2e2;color:#991b1b}.ust-trace-summary__reasons{list-style:none;margin:0;padding:0}.ust-trace-summary__reason{padding:.15rem 0;font-size:.82rem;color:var(--color-text, #111827)}.ust-trace-check{color:#22c55e;margin-right:.35rem;font-weight:700}.kontierung-wrapper{display:flex;flex-direction:column;gap:0;padding:4px 0}.kontierung-table-container{overflow-x:auto;overflow-y:visible}.kontierung-table{width:100%;border-collapse:collapse;font-size:.82rem;table-layout:fixed}.kontierung-table .col-konto{width:90px}.kontierung-table .col-bezeichnung{width:auto}.kontierung-table .col-soll,.kontierung-table .col-haben{width:100px}.kontierung-table .col-del{width:32px}.kontierung-table th{padding:6px 8px;text-align:left;background:var(--surface-alt);color:var(--text-secondary);border-bottom:1px solid var(--border);font-weight:600;font-size:.78rem;font-family:var(--sans);white-space:nowrap}.kontierung-table th.col-soll,.kontierung-table th.col-haben{text-align:right}.kontierung-table td{padding:4px 6px;border-bottom:1px solid var(--border-light);vertical-align:middle;position:relative}.kontierung-table input{width:100%;padding:4px 6px;border:1px solid transparent;border-radius:3px;font-size:.82rem;font-family:var(--sans);color:var(--text);background:transparent;outline:none;box-sizing:border-box}.kontierung-table input:focus{border-color:var(--primary);background:var(--bg)}.konto-autocomplete-wrapper{position:relative}.konto-input{font-family:var(--mono)!important;font-size:.8rem!important;letter-spacing:.02em}.amount-input{text-align:right;font-family:var(--mono)!important;font-size:.82rem!important}.bezeichnung-input{color:var(--text-secondary)!important;cursor:default!important;font-size:.8rem!important;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}.kontierung-row__delete{opacity:0;transition:opacity .15s ease;color:var(--red);cursor:pointer;border:none;background:none;font-size:1rem;padding:2px 6px;border-radius:3px;line-height:1;display:block;width:100%}.kontierung-row__delete:hover:not(:disabled){background:var(--red-light)}.kontierung-row__delete:disabled{opacity:0!important;cursor:not-allowed}.kontierung-table tr:hover .kontierung-row__delete:not(:disabled){opacity:1}.kontierung-summe td{padding:6px 8px;border-top:2px solid var(--border);border-bottom:none;font-weight:700;font-size:.82rem}.kontierung-summe--balanced td{background:var(--green-light)}.kontierung-summe--unbalanced td{background:var(--amber-light)}.summe-label{color:var(--text-secondary);font-family:var(--sans)}.summe-amount{text-align:right;font-family:var(--mono);font-size:.82rem}.summe-warning{font-size:.72rem;font-weight:600;color:var(--amber);font-family:var(--sans)}.kontierung-add-btn{width:100%;padding:6px;border:1px dashed var(--border);border-radius:var(--radius);background:transparent;color:var(--text-muted);cursor:pointer;font-size:.8rem;font-family:var(--sans);margin-top:4px;transition:border-color .12s ease,color .12s ease;text-align:center}.kontierung-add-btn:hover{border-color:var(--primary);color:var(--primary)}.buchungstext-controls{margin-top:8px}.buchungstext-field{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem;font-family:var(--sans);color:var(--text);background:var(--bg);resize:vertical;line-height:1.4;outline:none;transition:border-color .12s ease,box-shadow .12s ease;box-sizing:border-box}.buchungstext-field:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-faint)}.buchungstext-field::placeholder{color:var(--text-muted)}.buchungstext-footer{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.buchungstext-counter{font-size:.72rem;font-family:var(--sans);color:var(--text-muted)}.buchungstext-counter--warn{color:var(--red);font-weight:600}.btn-save-buchungstext{padding:4px 12px;font-size:.78rem;font-family:var(--sans);border:1px solid var(--primary);border-radius:var(--radius);background:var(--primary);color:#fff;cursor:pointer;transition:opacity .12s ease}.btn-save-buchungstext:hover:not(:disabled){opacity:.85}.btn-save-buchungstext:disabled{opacity:.4;cursor:not-allowed}.steuerdetails{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:6px 10px;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);font-size:.8rem}.steuerdetails__badge{display:inline-block;padding:2px 8px;border-radius:9999px;font-size:.75rem;font-weight:600;letter-spacing:.03em;flex-shrink:0}.steuerdetails__badge--automatik{background:var(--blue-light);color:var(--blue);border:1px solid var(--blue)}.steuerdetails__label{color:var(--text-secondary);font-family:var(--sans)}.steuerdetails__subtitle{display:block;width:100%;color:var(--text-muted);font-size:.75rem;font-family:var(--sans);margin-top:2px;line-height:1.3}.steuerdetails--warn{background:var(--amber-light);border-color:var(--amber)}.steuerdetails__label--warn{color:var(--amber);font-weight:600}.konto-autocomplete{position:absolute;top:calc(100% + 2px);left:0;z-index:50;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);max-height:200px;overflow-y:auto;min-width:240px}.konto-autocomplete__item{padding:6px 10px;cursor:pointer;display:flex;gap:8px;align-items:center;font-size:.8rem;line-height:1.3}.konto-autocomplete__item:hover,.konto-autocomplete__item--focused{background:var(--primary-faint)}.konto-autocomplete__number{font-family:var(--mono);font-size:.78rem;color:var(--primary);flex-shrink:0;min-width:40px}.konto-autocomplete__name{color:var(--text);font-family:var(--sans)}.kontrahent-lane{padding:.25rem 0}.kontrahent-section-header{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary, #6b7280);margin:.75rem 0 .375rem;padding-bottom:.25rem;border-bottom:1px solid var(--color-border, #e5e7eb)}.kontrahent-section-header:first-child{margin-top:0}.kontrahent-fields{display:flex;flex-direction:column;gap:.25rem}.kontrahent-field{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.2rem 0;font-size:.85rem}.kontrahent-field__label{color:var(--color-text-secondary, #6b7280);flex-shrink:0;white-space:nowrap}.kontrahent-field__value{text-align:right;word-break:break-word;color:var(--color-text, #111827)}.swap-correction-badge{display:flex;align-items:center;gap:6px;font-size:.8rem;padding:6px 10px;margin-bottom:.5rem;background:color-mix(in srgb,var(--primary, #3b82f6) 10%,transparent);border:1px solid color-mix(in srgb,var(--primary, #3b82f6) 25%,transparent);border-radius:var(--radius, 4px);color:var(--color-text, #111827)}.swap-correction-badge__icon{font-size:1.05rem;color:var(--primary, #3b82f6)}.kontrahent-hint{font-size:.82rem;color:var(--color-text-muted, #9ca3af);font-style:italic;margin:.25rem 0}.kal-lane{padding:.25rem 0}.kal-loading{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-text-secondary, #6b7280);padding:1rem 0}.kal-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid var(--color-border, #e5e7eb);border-top-color:var(--primary, #3b82f6);border-radius:50%;animation:kal-spin .7s linear infinite}@keyframes kal-spin{to{transform:rotate(360deg)}}.kal-error{font-size:.85rem;color:var(--color-error, #dc2626);padding:.75rem 0}.kal-empty{font-size:.85rem;color:var(--color-text-muted, #9ca3af);font-style:italic;padding:.75rem 0;text-align:center}.kal-muted{color:var(--color-text-muted, #9ca3af);font-size:.8rem;font-style:italic}.kal-section{margin-bottom:1rem}.kal-section-header{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary, #6b7280);margin:.75rem 0 .375rem;padding-bottom:.25rem;border-bottom:1px solid var(--color-border, #e5e7eb)}.kal-section-header:first-child{margin-top:0}.kal-candidates-table{width:100%;border-collapse:collapse;font-size:.82rem;table-layout:fixed}.kal-th{text-align:left;font-weight:600;color:var(--color-text-secondary, #6b7280);padding:.25rem .375rem;border-bottom:1px solid var(--color-border, #e5e7eb);white-space:nowrap}.kal-th--rank{width:2rem}.kal-th--score{width:4.5rem;text-align:right}.kal-th--channel{width:1.75rem;text-align:center}.kal-td{padding:.3rem .375rem;vertical-align:middle;border-bottom:1px solid color-mix(in srgb,var(--color-border, #e5e7eb) 50%,transparent)}.kal-td--rank{font-weight:600;color:var(--color-text-secondary, #6b7280);text-align:right}.kal-td--title{overflow:hidden}.kal-case-title{display:block;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kal-case-slug{display:block;font-size:.75rem;color:var(--color-text-muted, #9ca3af);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kal-td--score{text-align:right;font-variant-numeric:tabular-nums;font-size:.8rem;color:var(--color-text-secondary, #6b7280)}.kal-td--channel{text-align:center}.kal-candidate-row{cursor:pointer;transition:background .1s}.kal-candidate-row:hover{background:color-mix(in srgb,var(--primary, #3b82f6) 5%,transparent)}.kal-candidate-row--expanded{background:color-mix(in srgb,var(--primary, #3b82f6) 8%,transparent)}.kal-channel-dot{display:inline-block;width:.6rem;height:.6rem;border-radius:50%}.kal-channel-dot--hit{background:var(--color-success, #16a34a)}.kal-channel-dot--miss{background:var(--color-border, #e5e7eb)}.kal-candidate-detail-row td{padding:.25rem .5rem .5rem 2rem;background:color-mix(in srgb,var(--color-bg-subtle, #f9fafb) 80%,transparent)}.kal-accounts-list{display:flex;flex-direction:column;gap:.2rem}.kal-account-entry{display:flex;align-items:center;gap:.4rem;font-size:.8rem}.kal-account-no{font-weight:600;font-variant-numeric:tabular-nums;min-width:2.5rem;color:var(--color-text, #111827)}.kal-account-name{flex:1;color:var(--color-text-secondary, #6b7280)}.kal-fit-badge{font-size:.7rem;padding:.1rem .35rem;border-radius:var(--radius, 4px);background:color-mix(in srgb,var(--primary, #3b82f6) 12%,transparent);color:var(--primary, #3b82f6);white-space:nowrap}.kal-tax-badge{font-size:.7rem;padding:.1rem .35rem;border-radius:var(--radius, 4px);background:color-mix(in srgb,var(--color-warning, #d97706) 12%,transparent);color:var(--color-warning, #d97706);white-space:nowrap}.kal-timing{font-size:.78rem;color:var(--color-text-muted, #9ca3af);margin-top:.375rem;padding-top:.25rem;border-top:1px dashed var(--color-border, #e5e7eb)}.kal-ranking-cards{display:flex;flex-direction:column;gap:.375rem}.kal-ranking-card{border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius, 4px);overflow:hidden;font-size:.84rem}.kal-ranking-card--selected{border-color:var(--primary, #3b82f6);border-left-width:3px;background:color-mix(in srgb,var(--primary, #3b82f6) 4%,transparent)}.kal-ranking-card__header{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s}.kal-ranking-card__header:hover{background:color-mix(in srgb,var(--color-bg-subtle, #f9fafb) 60%,transparent)}.kal-rank-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;border-radius:50%;background:var(--color-border, #e5e7eb);color:var(--color-text-secondary, #6b7280);font-size:.78rem;font-weight:700;flex-shrink:0}.kal-rank-badge--selected{background:var(--primary, #3b82f6);color:#fff}.kal-ranking-card__account{flex:1;overflow:hidden}.kal-ranking-card__account-no{font-weight:600;font-variant-numeric:tabular-nums;margin-right:.35rem;color:var(--color-text, #111827)}.kal-ranking-card__account-name{color:var(--color-text-secondary, #6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.82rem}.kal-confidence{font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-text, #111827);white-space:nowrap;flex-shrink:0}.kal-selected-badge{font-size:.7rem;padding:.1rem .4rem;border-radius:var(--radius, 4px);background:var(--primary, #3b82f6);color:#fff;white-space:nowrap;flex-shrink:0}.kal-fallback-badge{font-size:.72rem;padding:.1rem .4rem;border-radius:var(--radius, 4px);background:color-mix(in srgb,var(--color-warning, #d97706) 15%,transparent);color:var(--color-warning, #d97706);white-space:nowrap}.kal-expand-icon{font-size:.65rem;color:var(--color-text-muted, #9ca3af);flex-shrink:0}.kal-ranking-card__reasoning{padding:.4rem .6rem .5rem;border-top:1px solid var(--color-border, #e5e7eb);font-size:.8rem;color:var(--color-text-secondary, #6b7280);background:color-mix(in srgb,var(--color-bg-subtle, #f9fafb) 70%,transparent);line-height:1.45;white-space:pre-wrap}.kal-filter-list{display:flex;flex-direction:column;gap:.2rem}.kal-filter-entry{display:flex;align-items:baseline;gap:.4rem;font-size:.83rem;padding:.2rem 0}.kal-filter-icon{font-size:.9rem;font-weight:700;flex-shrink:0;width:1rem;text-align:center}.kal-filter-entry--pass .kal-filter-icon{color:var(--color-success, #16a34a)}.kal-filter-entry--fail .kal-filter-icon{color:var(--color-error, #dc2626)}.kal-filter-name{font-weight:500;color:var(--color-text, #111827);flex-shrink:0;white-space:nowrap}.kal-filter-reason{color:var(--color-text-secondary, #6b7280);font-size:.8rem}.kal-filter-counts{color:var(--color-text-muted, #9ca3af);font-size:.78rem;font-variant-numeric:tabular-nums;white-space:nowrap}.kal-ust-ref{display:flex;flex-direction:column;gap:.2rem;font-size:.83rem}.kal-ust-scenario-id{font-weight:600;font-family:var(--font-mono, monospace);color:var(--color-text, #111827)}.kal-ust-scenario-name{color:var(--color-text-secondary, #6b7280)}.upload-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#00000080;display:flex;align-items:center;justify-content:center}.upload-modal{width:600px;max-width:90vw;max-height:85vh;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:24px;overflow-y:auto;animation:modalIn .15s ease-out}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.upload-modal__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.upload-modal__title{font-family:var(--sans);font-size:1.1rem;font-weight:600;color:var(--text);margin:0}.upload-modal__close{background:none;border:none;cursor:pointer;font-size:1.2rem;color:var(--text-muted);padding:4px;line-height:1;border-radius:var(--radius);transition:color .1s}.upload-modal__close:hover{color:var(--text)}.upload-modal__section{margin-top:16px}.upload-modal__section-label{font-family:var(--sans);font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.upload-modal__progress{margin-top:16px}.upload-modal__progress-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-top:6px}.upload-modal__progress-fill{height:100%;background:var(--primary);border-radius:3px;transition:width .3s ease}.upload-modal__progress-text{font-size:.85rem;color:var(--text-secondary);display:flex;justify-content:space-between}.upload-modal__filelist{max-height:300px;overflow-y:auto;margin-top:12px;display:flex;flex-direction:column;gap:6px}.upload-modal__filerow{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--surface-alt);border-radius:var(--radius);font-size:.85rem}.upload-modal__filerow-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.upload-modal__filerow-size{color:var(--text-muted);font-size:.75rem;white-space:nowrap}.upload-modal__filerow-status{width:20px;text-align:center;flex-shrink:0}.upload-modal__filerow-remove{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:.9rem;padding:2px 4px;flex-shrink:0}.upload-modal__filerow-remove:hover{color:var(--red, #e53e3e)}.upload-modal__filerow-retry{background:none;border:1px solid var(--primary);color:var(--primary);border-radius:var(--radius);padding:2px 8px;font-size:.75rem;cursor:pointer;white-space:nowrap;flex-shrink:0}.upload-modal__filerow-retry:hover{background:var(--primary);color:var(--surface)}.upload-modal__icon-ok{color:var(--green, #38a169);font-size:.85rem}.upload-modal__icon-err{color:var(--red, #e53e3e);font-size:.85rem}.upload-modal__icon-pending{color:var(--text-muted);font-size:1.2rem;line-height:1}.upload-modal__spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.upload-toast{background:var(--amber-bg, #fffbeb);color:var(--amber, #92400e);border:1px solid var(--amber, #d97706);border-radius:var(--radius);padding:8px 12px;font-size:.85rem;margin-bottom:12px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.admin-view{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--surface)}.admin-view__header{flex-shrink:0;display:flex;align-items:center;gap:24px;padding:12px 24px;border-bottom:1px solid var(--border);background:var(--surface)}.admin-view__header h2{font-size:15px;font-weight:600;color:var(--text);margin:0;white-space:nowrap}.admin-nav{display:flex;gap:2px;background:var(--surface-warm);border-radius:6px;padding:2px;border:1px solid var(--border-light)}.admin-nav button{padding:4px 14px;border-radius:4px;font-size:12.5px;font-weight:500;cursor:pointer;color:var(--text-secondary);transition:all .15s;border:none;background:none;font-family:var(--sans)}.admin-nav button:hover{color:var(--text)}.admin-nav button.active{background:var(--primary);color:#fff;box-shadow:0 1px 3px #52267a40}.admin-view__content{flex:1;overflow:hidden;display:flex;flex-direction:column}.posting-case-admin-view{display:flex;height:100%;overflow:hidden}.posting-case-admin-view__list{width:35%;flex-shrink:0;border-right:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column}.posting-case-admin-view__detail{flex:1;overflow:hidden;display:flex;flex-direction:column}.posting-case-list{display:flex;flex-direction:column;height:100%;overflow:hidden}.posting-case-list__filters{flex-shrink:0;padding:12px 16px;border-bottom:1px solid var(--border-light);display:flex;flex-direction:column;gap:8px}.posting-case-list__search{width:100%;padding:6px 10px;font-size:13px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-family:var(--sans);box-sizing:border-box}.posting-case-list__search:focus{outline:none;border-color:var(--primary)}.posting-case-list__filter-row{display:flex;gap:6px;align-items:center}.posting-case-list__filter-row select{flex:1;padding:5px 8px;font-size:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-family:var(--sans);cursor:pointer}.posting-case-list__filter-row select:focus{outline:none;border-color:var(--primary)}.posting-case-list__clear{padding:5px 10px;font-size:11px;font-weight:500;color:var(--text-secondary);background:none;border:1px solid var(--border-light);border-radius:var(--radius);cursor:pointer;font-family:var(--sans);white-space:nowrap;transition:all .15s}.posting-case-list__clear:hover{color:var(--text);border-color:var(--border)}.posting-case-list__table-wrap{flex:1;overflow-y:auto}.posting-case-list__table{width:100%;border-collapse:collapse;font-size:12.5px}.posting-case-list__table th{position:sticky;top:0;background:var(--surface-warm);padding:8px 10px;text-align:left;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap}.posting-case-list__table td{padding:8px 10px;border-bottom:1px solid var(--border-light);color:var(--text);vertical-align:middle}.posting-case-list__row{cursor:pointer;transition:background .1s}.posting-case-list__row:hover,.posting-case-list__row--selected{background:var(--primary-faint)}.posting-case-list__row--selected td{color:var(--primary);font-weight:500}.direction-badge{display:inline-block;padding:2px 7px;border-radius:10px;font-size:10.5px;font-weight:600;white-space:nowrap}.direction-badge--eingang{background:#dbeafe;color:#1d4ed8}.direction-badge--ausgang{background:#dcfce7;color:#15803d}.direction-badge--none{color:var(--text-muted);font-style:italic}.posting-case-list__empty{padding:32px 16px;text-align:center;color:var(--text-muted);font-size:13px}.pending-badge{display:inline-block;padding:2px 7px;border-radius:10px;font-size:10.5px;font-weight:600;background:#fef9c3;color:#854d0e}.posting-case-detail{display:flex;flex-direction:column;height:100%;overflow:hidden}.posting-case-detail__empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:14px}.posting-case-detail__header{flex-shrink:0;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--surface)}.posting-case-detail__title{font-size:15px;font-weight:600;color:var(--text);margin:0 0 2px}.posting-case-detail__meta{font-size:11.5px;color:var(--text-muted)}.posting-case-detail__body{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:16px}.examples-table-wrap{overflow-x:auto}.examples-table{width:100%;border-collapse:collapse;font-size:12.5px}.examples-table th{padding:8px 10px;text-align:left;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);background:var(--surface-warm);white-space:nowrap}.examples-table td{padding:8px 10px;border-bottom:1px solid var(--border-light);vertical-align:middle;color:var(--text)}.examples-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:13px;font-style:italic}.polarity-badge{display:inline-block;padding:2px 7px;border-radius:10px;font-size:10.5px;font-weight:600;white-space:nowrap}.polarity-badge--positive{background:#dcfce7;color:#15803d}.polarity-badge--negative{background:#fee2e2;color:#b91c1c}.embedding-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.embedding-dot--ready{background:var(--color-success, #22c55e)}.embedding-dot--pending{background:var(--color-warning, #eab308)}.embedding-dot--none{background:#d1d5db}.embedding-dot--na{display:inline;font-size:11px;color:var(--text-muted)}.example-row--confirm-delete{background:#fff1f2!important}.example-row--confirm-delete td{color:#be123c}.example-text-cell{cursor:pointer;max-width:300px}.example-text-cell:hover{color:var(--primary);text-decoration:underline}.example-text-truncated{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}.example-text-edit{width:100%;min-width:200px;padding:4px 6px;font-size:12.5px;border:1px solid var(--primary);border-radius:var(--radius);background:var(--surface);color:var(--text);font-family:var(--sans);resize:vertical;min-height:40px}.example-supplier-edit{width:100%;min-width:120px;padding:4px 6px;font-size:12.5px;border:1px solid var(--primary);border-radius:var(--radius);background:var(--surface);color:var(--text);font-family:var(--sans)}.example-actions{display:flex;gap:6px;align-items:center;white-space:nowrap}.btn-icon{padding:3px 6px;background:none;border:none;cursor:pointer;color:var(--text-muted);border-radius:var(--radius);font-size:12px;font-family:var(--sans);transition:all .15s}.btn-icon:hover{color:var(--text);background:var(--surface-warm)}.btn-delete-confirm{padding:3px 8px;background:#fef2f2;border:1px solid #fca5a5;cursor:pointer;color:#b91c1c;border-radius:var(--radius);font-size:11.5px;font-weight:600;font-family:var(--sans);transition:all .15s}.btn-delete-confirm:hover{background:#fee2e2}.example-add-form{display:flex;flex-direction:column;gap:10px;padding:14px 16px;background:var(--surface-warm);border:1px solid var(--border-light);border-radius:var(--radius)}.example-add-form__title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0}.example-add-form__row{display:flex;gap:10px;align-items:flex-start}.example-add-form__text{flex:2;padding:6px 10px;font-size:13px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-family:var(--sans);resize:vertical;min-height:48px}.example-add-form__text:focus{outline:none;border-color:var(--primary)}.example-add-form__polarity{padding:6px 10px;font-size:13px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-family:var(--sans);cursor:pointer}.example-add-form__polarity:focus{outline:none;border-color:var(--primary)}.example-add-form__supplier{flex:1;padding:6px 10px;font-size:13px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-family:var(--sans)}.example-add-form__supplier:focus{outline:none;border-color:var(--primary)}.example-add-form__submit{padding:6px 16px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:13px;font-weight:500;font-family:var(--sans);cursor:pointer;transition:opacity .15s;white-space:nowrap;align-self:flex-end}.example-add-form__submit:hover:not(:disabled){opacity:.85}.example-add-form__submit:disabled{opacity:.5;cursor:not-allowed}.example-add-form__success{font-size:12px;color:var(--color-success, #22c55e);font-weight:500}.example-add-form__error{font-size:12px;color:#dc2626}:root{--primary: #52267a;--primary-light: #6b3a96;--primary-faint: #f3eef8;--primary-border: #52267a30;--bright: #d7fdff;--bright-mid: #e8feff;--muted: #b1dbdd;--muted-light: #d0ecee;--muted-dark: #8bbfc2;--bg: #ffffff;--surface: #ffffff;--surface-alt: #fafbfc;--surface-warm: #f7f8f9;--border: #e4e7ea;--border-light: #eef0f2;--border-strong: #d0d4d8;--text: #2c2c2c;--text-secondary: #6e7580;--text-muted: #9da5b0;--blue: #3b6fe0;--blue-light: #eef3fc;--amber: #c48200;--amber-light: #fef8eb;--amber-bg: #fef0cd;--red: #c93030;--red-light: #fdf1f1;--green: #2a8a4a;--green-light: #edf8f1;--green-bg: #d8f0e0;--mono: "JetBrains Mono", monospace;--sans: "DM Sans", -apple-system, sans-serif;--radius: 7px;--radius-lg: 10px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .03);--shadow: 0 1px 3px rgba(0, 0, 0, .05), 0 1px 2px rgba(0, 0, 0, .03);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--sans);background:var(--bg);color:var(--text);height:100vh;overflow:hidden;display:flex;flex-direction:column}.btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:6px;font-size:12px;font-weight:500;font-family:var(--sans);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color .15s,background .15s;text-decoration:none;white-space:nowrap}.btn:hover{border-color:var(--border-strong);background:var(--surface-alt)}.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-light);border-color:var(--primary-light);color:#fff}.btn kbd{display:inline-block;font-family:var(--mono);font-size:9px;background:#0000000f;border-radius:3px;padding:1px 4px;line-height:1.4}.btn-primary kbd{background:#fff3}.btn-upload{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:8px;font-size:13px;font-weight:600;font-family:var(--sans);border:2px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;box-shadow:0 2px 8px #52267a40;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;text-decoration:none;white-space:nowrap}.btn-upload:hover{background:var(--primary-light);border-color:var(--primary-light);box-shadow:0 4px 12px #52267a59;transform:translateY(-1px)}.btn-sm{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:5px;font-size:11px;font-weight:500;font-family:var(--sans);border:1px dashed var(--border-strong);background:transparent;color:var(--text-secondary);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.btn-sm:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-faint)}#root{height:100%;width:100%}
