:root{--ed-bg:var(--inv-bg,#f8f5f2);--ed-accent:var(--inv-accent,#e73801);--ed-text:var(--inv-text,#1c1c1c);--ed-muted:var(--inv-muted,#6b6b6b);--ed-border:var(--inv-border,#ccc9c5);--ed-radius:4px;--ed-success:var(--inv-success,#2a6e3a);--ed-success-bg:var(--inv-success-bg,#edf7f0);--ed-error-bg:var(--inv-error-bg,#fdf0ec)}.invoice-editor{font-size:.875rem;color:var(--ed-text)}.invoice-editor__toolbar{display:flex;align-items:flex-start;flex-wrap:wrap;gap:.75rem;padding:.75rem 0;margin-bottom:.75rem;border-bottom:1px solid var(--ed-border)}.invoice-editor__filters{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;flex:1}.invoice-editor__filter-group{display:flex;align-items:center;gap:.3rem;white-space:nowrap}.invoice-editor__filter-group label{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--ed-muted)}.invoice-editor__filter-group input[type=date],.invoice-editor__filter-group select{padding:.3em .5em;border:1px solid var(--ed-border);border-radius:var(--ed-radius);font-size:.8rem;background:#fff;color:var(--ed-text)}.invoice-editor__toolbar-right{display:flex;align-items:center;gap:.5rem;margin-left:auto}.invoice-editor__count{font-size:.8rem;color:var(--ed-muted)}.invoice-editor__status-action{display:flex;align-items:center;gap:.5rem}.invoice-editor__toast{position:absolute;z-index:9999;max-width:280px;padding:.5em .8em;border-radius:var(--ed-radius);background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.15);font-size:.78rem;font-weight:600;line-height:1.35}.invoice-editor__toast--success{color:var(--ed-success);border:1px solid var(--ed-success)}.invoice-editor__toast--error{color:var(--ed-accent);border:1px solid var(--ed-accent)}.invoice-editor__btn{padding:.35em 1em;background:var(--ed-accent);color:#fff;border:none;border-radius:4em;font-size:.8em;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .15s;text-decoration:none;display:inline-flex;align-items:center}.invoice-editor__btn:hover{opacity:.85}.invoice-editor__btn:disabled{opacity:.4;cursor:not-allowed}.invoice-editor__btn--ghost{background:0 0;color:var(--ed-text);border:1px solid var(--ed-border)}.invoice-editor__col-toggle-wrap{position:relative}.invoice-editor__col-toggle-panel{position:absolute;right:0;top:calc(100% + 4px);background:#fff;border:1px solid var(--ed-border);border-radius:var(--ed-radius);padding:.5rem .75rem;z-index:100;min-width:160px;box-shadow:0 4px 12px rgba(0,0,0,.1)}.invoice-editor__col-checkbox{display:flex;align-items:center;gap:.4rem;padding:.2rem 0;cursor:pointer;font-size:.82rem;white-space:nowrap}.invoice-editor__bulk-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.6rem .75rem;background:#fff8e6;border:1px solid #e8c840;border-radius:var(--ed-radius);margin-bottom:.75rem}.invoice-editor__bulk-info{font-weight:600;font-size:.82rem}.invoice-editor__bulk-bar select{padding:.3em .5em;border:1px solid var(--ed-border);border-radius:var(--ed-radius);font-size:.8rem}.invoice-editor__bulk-msg{font-size:.8rem;font-weight:600}.invoice-editor__bulk-msg--success{color:var(--ed-success)}.invoice-editor__bulk-msg--error{color:var(--ed-accent)}.invoice-editor__table-wrap{overflow-x:auto;border:1px solid var(--ed-border);border-radius:var(--ed-radius)}.invoice-editor__table{width:100%;border-collapse:collapse;font-size:.82rem;table-layout:fixed}.invoice-editor__th{position:sticky;top:0;background:var(--ed-bg);border-bottom:2px solid var(--ed-border);padding:.5rem .6rem;text-align:left;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ed-muted);white-space:nowrap;z-index:1}.invoice-editor__th--check,.invoice-editor__td--check{width:28px;padding:.4rem .4rem .4rem .6rem}.invoice-editor__th--id,.invoice-editor__td--id{width:78px;color:var(--ed-muted);font-size:.72rem;white-space:nowrap}.invoice-editor__pdf-link{display:inline-flex;align-items:center;margin-left:.35em;padding:.1em .4em;background:var(--ed-accent);color:#fff;border-radius:3px;font-size:.62rem;font-weight:700;letter-spacing:.02em;text-decoration:none;vertical-align:middle}.invoice-editor__pdf-link:hover{opacity:.85}.invoice-editor__th--action,.invoice-editor__td--action{width:215px}.invoice-editor__msg-icon{display:inline-flex;align-items:center;justify-content:center;width:1.3rem;height:1.3rem;margin-right:.3rem;border-radius:50%;background:var(--ed-error-bg,#fdf0ec);color:var(--ed-accent);font-size:.95rem;line-height:1;cursor:pointer;vertical-align:middle}.invoice-editor__msg-popover{position:absolute;z-index:9999;max-width:280px;padding:.6rem .75rem;background:#fff;border:1px solid var(--ed-border);border-radius:calc(var(--ed-radius) * 2);box-shadow:0 6px 20px rgba(0,0,0,.18);font-size:.82rem;line-height:1.4;white-space:pre-wrap;color:var(--ed-text)}.invoice-editor__row-review-btn,.invoice-editor__row-finish-btn{height:1.9rem;padding:0 .7em;border:none;border-radius:4em;font-size:.72rem;font-weight:600;line-height:1;cursor:pointer;white-space:nowrap;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;transition:opacity .15s,background .15s}.invoice-editor__row-review-btn{background:var(--ed-accent);color:#fff}.invoice-editor__row-finish-btn{background:0 0;color:var(--ed-text);border:1px solid var(--ed-border)}.invoice-editor__row-review-btn:hover,.invoice-editor__row-finish-btn:hover{opacity:.85}.invoice-editor__row-review-btn:disabled,.invoice-editor__row-finish-btn:disabled{opacity:.6;cursor:default}.invoice-editor__td{height:2.3rem;padding:.35rem .6rem;border-bottom:1px solid var(--ed-border);vertical-align:middle;max-width:260px;box-sizing:border-box}.invoice-editor__row:last-child .invoice-editor__td{border-bottom:none}.invoice-editor__row:hover .invoice-editor__td{background:rgba(231,56,1,.03)}.invoice-editor__row--selected .invoice-editor__td{background:rgba(231,56,1,.07)}.invoice-editor__cell{cursor:pointer;position:relative;outline:none;transition:background .8s ease-out}.invoice-editor__cell:hover{background:rgba(231,56,1,.04)}.invoice-editor__cell:focus{outline:2px solid var(--ed-accent);outline-offset:-2px;background:rgba(231,56,1,.07)}.invoice-editor__cell--readonly{cursor:default;color:var(--ed-muted)}.invoice-editor__cell--readonly:hover{background:0 0}.invoice-editor__row--imported .invoice-editor__cell--readonly{background:repeating-linear-gradient(-45deg,transparent,transparent 6px,rgba(0,0,0,.015) 6px,rgba(0,0,0,.015) 12px)}.invoice-editor__td--file{white-space:nowrap}.invoice-editor__file-name{color:var(--ed-text);overflow:hidden;text-overflow:ellipsis}.invoice-editor__file-empty{color:var(--ed-muted)}.invoice-editor__file-upload-btn{height:1.9rem;padding:0 .7em;background:0 0;color:var(--ed-text);border:1px solid var(--ed-border);border-radius:4em;font-size:.72rem;font-weight:600;line-height:1;cursor:pointer;white-space:nowrap;box-sizing:border-box;transition:opacity .15s,border-color .15s}.invoice-editor__file-upload-btn:hover{border-color:var(--ed-accent);color:var(--ed-accent)}.invoice-editor__file-upload-btn:disabled{opacity:.6;cursor:default}.invoice-editor__cell--saved{background:var(--ed-success-bg,#edf7f0) !important;transition:none}.invoice-editor__cell--editing{outline:none;cursor:default}.invoice-editor__cell--editing .invoice-editor__cell-display{display:none}.invoice-editor__cell-edit-wrap{display:flex;align-items:center;gap:3px;height:1.6rem;max-height:1.6rem;overflow:hidden}.invoice-editor__cell-save-btn{flex-shrink:0;width:1.6rem;height:1.6rem;padding:0;background:var(--ed-success,#2a6e3a);color:#fff;border:none;border-radius:3px;font-size:.85rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .15s}.invoice-editor__cell-save-btn:hover{opacity:.85}.invoice-editor__cell-save-btn:disabled{opacity:.4;cursor:not-allowed}.invoice-editor__cell-display{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;height:1.6rem;line-height:1.6rem;padding:0 2px}.invoice-editor__cell[data-type=textarea] .invoice-editor__cell-display{white-space:pre-line;height:auto;line-height:1.2em;max-height:3.6em;overflow:hidden}.invoice-editor__cell-input{width:100%;min-width:80px;height:1.6rem;max-height:1.6rem;padding:0 .35em;border:2px solid var(--ed-accent);border-radius:2px;font-size:inherit;font-family:inherit;background:#fff;color:var(--ed-text);outline:none;box-sizing:border-box}.invoice-editor__cell-input[type=number]{-moz-appearance:textfield;appearance:textfield}.invoice-editor__cell-input[type=number]::-webkit-outer-spin-button,.invoice-editor__cell-input[type=number]::-webkit-inner-spin-button{margin:0}.invoice-editor__cell-input[type=date]{min-width:130px}.invoice-editor__cell-input[type=number]{min-width:80px}.invoice-editor__cell-input--select{cursor:pointer}textarea.invoice-editor__cell-input{resize:vertical;min-height:3.5em}.invoice-editor__cell-error{display:block;position:absolute;left:.6rem;right:.6rem;top:100%;margin-top:2px;padding:2px 4px;background:#fff;border-radius:var(--ed-radius);box-shadow:0 2px 6px rgba(0,0,0,.12);font-size:.7rem;color:var(--ed-accent);z-index:6}.invoice-editor__cell-error:empty{display:none}.invoice-editor__cell--error .invoice-editor__cell-input{border-color:var(--ed-accent)}.invoice-editor__cell-spinner,.invoice-editor__spinner{width:.8rem;height:.8rem;border:2px solid var(--ed-border);border-top-color:var(--ed-accent);border-radius:50%;animation:inv-spin .7s linear infinite;vertical-align:middle;flex-shrink:0;display:inline-block}.invoice-editor__cell-spinner[hidden],.invoice-editor__spinner[hidden]{display:none}.invoice-editor--locked .invoice-editor__cell{pointer-events:none}.invoice-editor--locked .invoice-editor__table-wrap{opacity:.65;cursor:wait}.invoice-editor__empty{text-align:center;padding:2rem;color:var(--ed-muted)}.invoice-editor__pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem 0;margin-top:.5rem}.invoice-editor__page-btn{padding:.35em 1em;border:1px solid var(--ed-border);border-radius:4em;text-decoration:none;color:var(--ed-text);font-size:.82rem;transition:border-color .15s}.invoice-editor__page-btn:hover{border-color:var(--ed-accent);color:var(--ed-accent)}.invoice-editor__page-info{font-size:.82rem;color:var(--ed-muted)}.invoice-editor__search-dropdown{position:absolute;z-index:9999;list-style:none;margin:2px 0 0;padding:.25rem 0;background:#fff;border:1px solid var(--ed-border);border-radius:var(--ed-radius);box-shadow:0 4px 14px rgba(0,0,0,.12);max-height:220px;overflow-y:auto}.invoice-editor__search-result{padding:.35em .75em;font-size:.82rem;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invoice-editor__search-result:hover,.invoice-editor__search-result--active{background:rgba(231,56,1,.07);color:var(--ed-accent)}.invoice-editor__search-result--active{background:rgba(231,56,1,.13)}.invoice-editor__access-denied{font-size:.9rem;color:var(--ed-muted)}