:root{--font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-size-base: 13px;--font-size-header: 12px;--text-color: #333333;--row-height: 32px;--button-height: 28px;--input-height: 24px;--cell-padding-y: 6px;--cell-padding-x: 8px;--button-padding-y: 5px;--button-padding-x: 12px;--button-border: 1px solid #bfbfbf;--button-radius: 3px;--button-bg-from: #ffffff;--button-bg-to: #f0f0f0;--button-bg-hover-from: #f5f5f5;--button-bg-hover-to: #e8e8e8;--button-shadow-top: inset 0 1px 0 0 rgba(255, 255, 255, .8);--button-shadow-bottom: 0 1px 1px rgba(0, 0, 0, .08);--button-active-shadow: inset 0 1px 2px rgba(0, 0, 0, .15);--icon-size: 16px;--icon-gap: 6px;--table-border-color: #e6e6e6;--table-row-bg: #ffffff;--table-row-bg-hover: #f7f7f7;--table-row-bg-selected: #fff4cc;--panel-bg: #f5f5f5;--panel-border: 1px solid #e0e0e0;--input-border: 1px solid #bfbfbf;--input-bg: #ffffff;--input-radius: 2px;--ui-space-xs: 4px;--ui-space-sm: 8px;--ui-space-md: 12px;--ui-space-lg: 16px;--ui-space-xl: 24px;--ui-button-height: var(--button-height);--ui-bg-header: #e8e8e8;--ui-bg-surface: #ffffff;--ui-bg-hover: var(--table-row-bg-hover);--ui-bg-active-row: var(--table-row-bg-selected);--ui-bg-table-header: var(--panel-bg);--ui-border: #bfbfbf;--ui-border-light: #e6e6e6;--ui-accent: #4a90d9;--ui-accent-hover: #3a7bc8;--ui-accent-light: #e3f2fd;--ui-text-primary: var(--text-color);--ui-text-secondary: #666;--ui-text-tertiary: #888;--ui-text-xs: 11px;--ui-radius: 3px;--ui-radius-sm: 2px;--ui-text-sm: 12px;--ui-text-title: 16px;--ui-font-weight-medium: 500;--ui-font-weight-bold: 600;--ui-status-warning: #c62828;--ui-status-warning-bg: #ffebee;--ui-status-overdue: #ea8600;--ui-shadow-md: 0 1px 2px rgba(0, 0, 0, .1)}*,*:before,*:after{box-sizing:border-box}html,body{width:100%;max-width:100%;overflow-x:hidden;height:100%}body{margin:0;font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-color);background:var(--panel-bg);-webkit-font-smoothing:antialiased}#root{min-height:100vh;width:100%;max-width:100%;overflow-x:hidden}button{font-family:inherit;font-size:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit}a{color:inherit;text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--icon-gap);height:var(--button-height);padding:var(--button-padding-y) var(--button-padding-x);font-size:var(--font-size-base);color:var(--text-color);background:linear-gradient(to bottom,var(--button-bg-from),var(--button-bg-to));border:var(--button-border);border-radius:var(--button-radius);box-shadow:var(--button-shadow-top),var(--button-shadow-bottom);cursor:pointer;transition:background .1s,box-shadow .1s}.btn:hover:not(:disabled){background:linear-gradient(to bottom,var(--button-bg-hover-from),var(--button-bg-hover-to))}.btn:active:not(:disabled){background:linear-gradient(to bottom,var(--button-bg-hover-to),var(--button-bg-hover-from));box-shadow:var(--button-active-shadow)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.icon{width:var(--button-height);padding:0}.btn.compact{height:var(--button-height);padding:4px 10px}.btn.primary{--button-bg-from: #4a90d9;--button-bg-to: #3a7bc8;--button-bg-hover-from: #5a9fe9;--button-bg-hover-to: #4a8fd8;color:#fff;border-color:#2d6ba3;box-shadow:inset 0 1px #fff3,0 1px 1px #0000001a}.btn.btn-excel{background:linear-gradient(to bottom,#2e7d4f,#1d5c38);color:#fff;border-color:#1a4d30;box-shadow:inset 0 1px #ffffff26,0 1px 2px #00000026;gap:6px;font-weight:500}.btn.btn-excel:hover:not(:disabled){background:linear-gradient(to bottom,#3a9460,#256b45)}.btn.btn-excel:active:not(:disabled){background:linear-gradient(to bottom,#1d5c38,#2e7d4f);box-shadow:inset 0 1px 2px #0003}.btn.primary:active:not(:disabled){box-shadow:inset 0 1px 2px #00000040}.input{height:var(--input-height);padding:2px 6px;font-size:var(--font-size-base);color:var(--text-color);background:var(--input-bg);border:var(--input-border);border-radius:var(--input-radius);width:100%;max-width:100%;min-width:0;box-sizing:border-box}.input::placeholder{color:#999}.input:focus{outline:none;border-color:#4a90d9}.input.error{border-color:#c62828}select.input{cursor:pointer;min-width:140px}.input.compact{height:var(--input-height);padding:2px 6px}.ref-input,.ref-input-wrap{display:inline-flex;align-items:center;height:var(--input-height);border:var(--input-border);background:var(--input-bg);border-radius:var(--input-radius);padding-left:6px;min-width:0;width:100%;max-width:100%;box-sizing:border-box;position:relative}.ref-input__field{border:none;outline:none;background:transparent;height:100%;flex:1;min-width:0;width:100%;font-size:var(--font-size-base);color:var(--text-color);padding:0}.ref-input__field::placeholder{color:#999}.ref-input__field.error{color:var(--text-color)}.ref-input-wrap:has(.ref-input__field.error){border-color:#c62828;box-shadow:0 0 0 1px #c62828 inset}.ref-input__actions{display:inline-flex;height:100%;flex:0 0 auto;border-left:1px solid #c9c9c9}.ref-input__btn{width:22px;height:100%;border:none;background:linear-gradient(to bottom,#fff,#ededed);border-left:1px solid #c9c9c9;font-size:14px;line-height:1;color:#333;padding:0}.ref-input__btn:first-child{border-left:none}.ref-input__btn:hover:not(:disabled){background:linear-gradient(to bottom,#f7f7f7,#e3e3e3)}.ref-input__btn:active:not(:disabled){background:linear-gradient(to bottom,#e0e0e0,#f5f5f5)}.ref-input__btn:disabled{opacity:.55;cursor:not-allowed}.ref-input:focus-within{border-color:#4a90d9;box-shadow:0 0 0 1px #4a90d9 inset}.ref-input-wrap:focus-within{border-color:#4a90d9;box-shadow:0 0 0 1px #4a90d9 inset}.ref-input__dropdown{position:absolute!important;top:calc(100% + 2px);left:0;width:100%;min-width:0;box-sizing:border-box;display:flex;flex-direction:column;border-radius:2px;background:#fff;border:1px solid #a7a7a7;box-shadow:0 1px 2px #0000001f;z-index:2000;max-height:240px;overflow-y:auto}.ref-input__dropdown.ref-dropdown-portal{position:fixed}.ref-input__item{width:100%;text-align:left;display:block;flex:0 0 auto;padding:7px 12px;background:#fff;border:none;font-size:var(--font-size-base);border-bottom:1px solid #e9e9e9}.ref-input__item:hover{background:#f2cf58}.ref-input__item.muted{cursor:default;background:#fff}.ref-input__footer{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#f4f4f4;border-top:1px solid #c3c3c3}.ref-input__link{background:none;border:none;color:#1b63c6;text-decoration:underline;font-size:var(--font-size-base);padding:0;cursor:pointer}.ref-input__create,.ref-dropdown-create{width:34px;height:26px;border:1px solid #b8b8b8;border-radius:2px;background:#fff;font-size:20px;line-height:1;color:#1e8e3e;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.ref-list{border:1px solid #c7c7c7;background:#fff}.ref-list__toolbar{display:flex;gap:6px;padding:6px;border-bottom:1px solid #c7c7c7;background:#f3f3f3}.ref-list__grid{height:340px;overflow:auto;border-bottom:1px solid #c7c7c7}.ref-list__loading{padding:12px;color:#666}.ref-list__table{width:100%;border-collapse:collapse;font-size:13px}.ref-list__table th,.ref-list__table td{padding:6px 8px;border-bottom:1px solid #e6e6e6}.ref-list__table th{background:#f0f0f0;font-weight:600;font-size:12px}.ref-list__table tr:hover{background:#f4d03f}.ref-list__footer{padding:6px;display:flex;justify-content:flex-end}textarea.input{min-height:72px;padding:6px;resize:vertical}.receive-payment-btn{height:var(--button-height);padding:var(--button-padding-y) var(--button-padding-x);font-size:var(--font-size-base);color:var(--text-color);background:linear-gradient(to bottom,var(--button-bg-from),var(--button-bg-to));border:var(--button-border);border-radius:var(--button-radius);box-shadow:var(--button-shadow-top),var(--button-shadow-bottom);cursor:pointer}.receive-payment-btn:hover:not(:disabled){background:linear-gradient(to bottom,var(--button-bg-hover-from),var(--button-bg-hover-to))}.table{width:100%;border-collapse:collapse;font-size:var(--font-size-base)}.table th{padding:var(--cell-padding-y) var(--cell-padding-x);text-align:left;font-weight:600;color:var(--text-color);background:var(--panel-bg);border-bottom:1px solid var(--table-border-color);white-space:nowrap}.table td{padding:var(--cell-padding-y) var(--cell-padding-x);border-bottom:1px solid var(--table-border-color);color:var(--text-color);background:var(--table-row-bg)}.table tbody tr:hover td{background:var(--table-row-bg-hover)}.table tr.selected td{background:var(--table-row-bg-selected)}.table .td-num,input[type=number],.input.input-num{text-align:right;font-variant-numeric:tabular-nums}.logo-uploader{display:flex;flex-direction:column;gap:8px}.logo-uploader__dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;max-width:320px;min-height:100px;padding:20px;border:2px dashed #c5cdd6;border-radius:8px;background:#f8fafc;color:#7a8a9a;cursor:pointer;transition:border-color .15s,background .15s,color .15s;box-sizing:border-box;font:inherit;text-align:center}.logo-uploader__dropzone:hover:not(:disabled),.logo-uploader__dropzone.drag-over{border-color:#4a90d9;background:#eef5fd;color:#3a7bc8}.logo-uploader__dropzone:disabled{opacity:.55;cursor:not-allowed}.logo-uploader__label{font-size:13px;font-weight:500}.logo-uploader__hint{font-size:11px;color:#9ba9b5}.logo-uploader__preview{display:inline-flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #dde3ea;border-radius:8px;background:#f8fafc;max-width:320px;box-sizing:border-box}.logo-uploader__img{max-width:156px;max-height:48px;object-fit:contain;display:block;border-radius:4px}.logo-uploader__actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.logo-uploader__btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:5px;border:1px solid transparent;font:inherit;font-size:12px;cursor:pointer;transition:background .12s,border-color .12s;white-space:nowrap}.logo-uploader__btn--change{background:#eef5fd;border-color:#b3cce9;color:#3a7bc8}.logo-uploader__btn--change:hover:not(:disabled){background:#ddeaf8;border-color:#4a90d9}.logo-uploader__btn--remove{background:#fef2f2;border-color:#fbc8c8;color:#c0392b}.logo-uploader__btn--remove:hover:not(:disabled){background:#fde8e8;border-color:#e74c3c}.logo-uploader__btn:disabled{opacity:.5;cursor:not-allowed}.app-shell{display:grid;grid-template-rows:auto 1fr auto;height:100vh;overflow:hidden}.main{display:grid;grid-template-rows:auto 1fr;min-height:0;overflow:hidden}.content{padding:var(--ui-space-lg);overflow:auto;overflow-x:hidden;min-height:0}.bottom-tabs-bar{background:var(--ui-bg-header);border-top:1px solid var(--ui-border);min-height:36px;max-height:120px;overflow:hidden}.bottom-tabs-scroll{display:flex;flex-wrap:wrap;gap:2px;padding:var(--ui-space-xs) var(--ui-space-sm);overflow-x:auto;overflow-y:auto}.bottom-tab{display:inline-flex;align-items:center;gap:var(--ui-space-xs);padding:6px 10px;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-bg-surface);font-size:var(--ui-text-sm)}.bottom-tab.active{background:var(--ui-bg-active-row);border-color:var(--ui-accent)}.bottom-tab-label{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-tab-label:hover{text-decoration:underline}.bottom-tab-close{flex-shrink:0;width:18px;height:18px;padding:0;border:none;background:none;color:var(--ui-text-tertiary);cursor:pointer;font-size:16px;line-height:1}.bottom-tab-close:hover{color:var(--ui-text-primary)}.topnav{background:var(--ui-bg-header);border-bottom:1px solid var(--ui-border)}.topnav-inner{display:flex;align-items:center;gap:var(--ui-space-lg);padding:10px var(--ui-space-lg)}.brand{font-size:var(--ui-text-title);font-weight:var(--ui-font-weight-bold)}.topnav-tabs{display:flex;gap:6px;align-items:end;flex:1}.topnav-tab{display:inline-flex;align-items:center;padding:10px var(--ui-space-md);border:1px solid transparent;border-radius:var(--ui-radius) var(--ui-radius) 0 0;color:var(--ui-text-primary);background:transparent;font:inherit}.topnav-tab:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.topnav-tab.active{background:#fffc;border-color:var(--ui-border);border-bottom-color:transparent}.topnav-dropdown-wrap{position:relative;display:inline-flex}.topnav-dropdown{position:absolute;top:calc(100% - 1px);left:0;min-width:220px;margin:2px 0 0;padding:4px 0;list-style:none;background:#fff;border:var(--button-border);border-radius:var(--button-radius);box-shadow:0 2px 8px #00000026;z-index:100}.topnav-dropdown-item{display:block;padding:6px 12px;font-size:var(--font-size-base);color:var(--text-color)}.topnav-dropdown-item:hover{background:var(--table-row-bg-hover)}.topnav-dropdown-item.active{background:var(--table-row-bg-selected)}.topnav-dropdown-separator{height:1px;margin:4px 8px;background:var(--ui-border, #e0e0e0)}.topnav-dropdown-section{padding:4px 12px 2px;font-size:11px;font-weight:600;color:var(--ui-text-muted, #666);text-transform:uppercase;letter-spacing:.5px}.topnav-right{display:flex;align-items:center;gap:var(--ui-space-sm)}.topnav-user{font-weight:var(--ui-font-weight-medium);color:var(--ui-text-secondary)}.panel{background:var(--ui-bg-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius);display:flex;flex-direction:column;min-height:0;overflow:hidden}.panel-header{padding:var(--ui-space-md) var(--ui-space-lg);border-bottom:1px solid var(--ui-border-light);display:flex;align-items:center;justify-content:space-between;gap:var(--ui-space-lg)}.panel-title{font-size:var(--ui-text-title);font-weight:var(--ui-font-weight-bold);margin:0}.panel-title.title-right{text-align:right;margin-left:auto}.toolbar{display:flex;gap:var(--ui-space-sm);flex-wrap:wrap;align-items:center}.toolbar .list-search-input{width:180px;margin-left:var(--ui-space-sm)}.toolbar-link{display:inline-flex;align-items:center;height:var(--ui-button-height)}.receive-payment-dropdown-wrap{position:relative;display:inline-flex}.receive-payment-btn:disabled{opacity:.45;cursor:not-allowed}.receive-payment-dropdown{position:absolute;left:0;top:calc(100% + 2px);min-width:180px;margin:2px 0 0;padding:4px 0;background:#fff;border:var(--button-border);border-radius:var(--button-radius);box-shadow:0 2px 8px #00000026;z-index:100}.receive-payment-dropdown-item{display:block;width:100%;padding:6px 12px;background:none;border:none;font-size:var(--font-size-base);color:var(--text-color);font:inherit;text-align:left;cursor:pointer}.receive-payment-dropdown-item:hover{background:var(--table-row-bg-hover)}.table th{border-right:1px solid #ccc;cursor:pointer;-webkit-user-select:none;user-select:none}.table.tabular{table-layout:fixed;width:100%}.table.tabular th{cursor:default;background:#efefef;font-size:var(--font-size-header);font-weight:600;padding:var(--cell-padding-y) var(--cell-padding-x);border-bottom:1px solid var(--table-border-color);border-right:1px solid #d8d8d8;border-left:none;white-space:nowrap;overflow:hidden}.table.tabular th:last-child{border-right:none}.table-resize-handle{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize}.table-resize-handle:hover{background:#4a90d933}.table.compact th,.table.compact td{padding:var(--cell-padding-y) var(--cell-padding-x)}.table.tabular td{background:var(--table-row-bg);border-bottom:1px solid var(--table-border-color);border-right:1px solid #d8d8d8;border-left:none;vertical-align:middle;font-size:var(--font-size-base)}.table.tabular td:last-child{border-right:none}.table.tabular tbody tr:hover td{background:var(--table-row-bg-hover)}.table.tabular td.cell-edit{padding:0;height:var(--input-height)}.table.tabular td.cell-edit.cell-edit--textarea{height:auto;min-height:var(--input-height);vertical-align:top}.table.tabular tbody tr td{padding:0 var(--cell-padding-x);height:var(--input-height);line-height:var(--input-height);vertical-align:middle}.table.tabular td.cell-edit .input,.table.tabular td.cell-edit .ref-input,.table.tabular td.cell-edit .ref-input-wrap{width:100%;height:100%;min-height:100%;border:none;border-radius:0;background:transparent;box-shadow:none}.table.tabular td.cell-edit .input{padding:var(--cell-padding-y) var(--cell-padding-x)}.table.tabular td.cell-edit textarea.cell-textarea{width:100%;height:auto;min-height:var(--input-height);resize:none;overflow:hidden;white-space:pre-wrap;word-break:break-word;line-height:1.4;padding:var(--cell-padding-y) var(--cell-padding-x);display:block;field-sizing:content}.table.tabular td.cell-edit input[type=number],.table.tabular td.cell-edit .input.input-num{text-align:right;font-variant-numeric:tabular-nums}.table.tabular td.cell-edit .ref-input,.table.tabular td.cell-edit .ref-input-wrap{padding-left:var(--cell-padding-x)}.table.tabular td.cell-edit .ref-input__field{height:100%}.table.tabular td.cell-edit .ref-input__dropdown:not(.ref-dropdown-portal){left:0;right:0}.table.tabular td.cell-edit .ref-field-inline,.table.tabular td.cell-edit .ref-field-inline .field,.table.tabular td.cell-edit .ref-field-inline .ref-input-wrap{height:100%;width:100%}.table.tabular td.cell-actions,.table.tabular td.cell-right,.table.tabular th.cell-right{text-align:right}.table.tabular .row-totals td,.table.tabular tfoot tr td{background:#f6f6f6;border-top:1px solid #bdbdbd;font-weight:600}.th-content{display:flex;align-items:center;gap:var(--ui-space-sm)}.sort-indicator{margin-left:auto;width:14px;height:14px;position:relative;color:var(--ui-text-primary)}.sort-indicator:before{content:"";position:absolute;left:6px;top:2px;width:2px;height:7px;background:currentColor;border-radius:1px}.sort-indicator:after{content:"";position:absolute;left:2px;top:8px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid currentColor}.sort-indicator[data-dir=asc]{transform:rotate(180deg)}.posted-state-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px}.td-icon{padding:var(--ui-space-sm) 6px;text-align:center;vertical-align:middle}.th-icon{cursor:default}.doc-date{display:inline-flex;align-items:center;gap:var(--ui-space-sm)}.td-total-label{text-align:right;font-weight:var(--ui-font-weight-bold);color:var(--ui-text-secondary)}.td-total{font-weight:var(--ui-font-weight-bold)}.btn.compact{height:28px;padding:6px 10px}.btn.icon{width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1}.form{padding:var(--ui-space-lg);display:grid;gap:var(--ui-space-md);max-width:760px}.form.form-tax-invoice,.form.form-bill,.form.form-receipt-voucher,.form.form-payment-voucher{max-width:none;width:100%;grid-template-columns:1fr}.report-filters{padding:var(--ui-space-lg);display:flex;flex-wrap:wrap;gap:var(--ui-space-md);align-items:flex-end;width:100%;max-width:100%;box-sizing:border-box;margin-bottom:16px}.report-filters .field{display:flex;flex-direction:column;align-items:stretch;gap:6px}.report-filters .label{white-space:nowrap}.report-filters .ref-field{flex:1 1 220px;min-width:180px}.report-filters .report-date{flex:0 0 auto;min-width:160px}.report-filters .report-date .input{width:160px}.report-filters .report-options-field{flex:1 1 100%;min-width:0}.report-filters .report-options-field.field{flex-direction:row;align-items:center;gap:12px}.report-filters .report-options-field .label{white-space:nowrap;margin-bottom:0}.report-options{display:flex;flex-wrap:nowrap;align-items:center;gap:12px}.report-options .checkbox{margin:0;white-space:nowrap}@media(min-width:1200px){.report-filters{flex-wrap:wrap}.report-filters .ref-field{min-width:220px;flex:1 1 220px}.report-filters .report-options-field{flex:1 1 100%;min-width:0}}.form-narrow{width:100%;display:flex;flex-direction:column;gap:var(--ui-space-md)}.tabular-wide{width:100%}.form-section{margin-bottom:20px}.form-section--header-fields{margin-bottom:12px}.form-tabs{display:flex;gap:0;border-bottom:1px solid var(--ui-border, #ccc);margin-bottom:var(--ui-space-md)}.form-tab{padding:8px 16px;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;font:inherit;color:var(--ui-text-secondary, #666);cursor:pointer}.form-tab:hover{color:var(--ui-text-primary, #333)}.form-tab.active{color:var(--ui-accent, #0066cc);font-weight:600;border-bottom-color:var(--ui-accent, #0066cc)}.form-tab-panel{padding-top:0}.form-tab-placeholder{color:var(--ui-text-tertiary, #888);font-style:italic;margin:var(--ui-space-lg) 0}.invoice-summary-cards{display:flex;flex-wrap:wrap;gap:var(--ui-space-sm);margin-bottom:var(--ui-space-lg)}.invoice-summary-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:120px;padding:12px 28px 12px 12px;border:1px solid var(--ui-border, #ccc);border-radius:var(--ui-radius, 4px);background:var(--ui-bg-surface, #fff);font:inherit;text-align:left;cursor:pointer}.invoice-summary-card:hover{border-color:var(--ui-accent, #0066cc);background:var(--ui-bg-hover, #f9f9f9)}.invoice-summary-card.active{border-color:var(--ui-accent, #0066cc);background:var(--ui-bg-active-row, #f0f7ff)}.invoice-summary-card-label{font-size:var(--ui-text-sm);color:var(--ui-text-secondary, #666);margin-bottom:4px}.invoice-summary-card-amount{font-weight:600;font-variant-numeric:tabular-nums}.invoice-summary-card-icon{position:absolute;top:8px;right:8px;font-size:10px;color:var(--ui-text-tertiary, #999)}.invoice-link{background:none;border:none;padding:0;font:inherit;color:var(--ui-accent, #0066cc);text-decoration:underline;cursor:pointer}.invoice-link:hover{text-decoration:none}.invoice-list-wrap{overflow-x:auto}.doc-list-search{margin-bottom:8px}.form-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;align-items:start}.form-fields-col{display:grid;grid-auto-rows:min-content;row-gap:6px;min-width:0}.form-fields-col--right{border-left:1px solid #d6d6d6;padding-left:16px;min-width:180px}.form-field{display:grid;grid-template-columns:140px 1fr;gap:6px;align-items:center}.form-field .label,.form-field label{color:#666;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.form-field .input,.form-field .ref-input-wrap,.form-field .ref-field,.form-field .date-input{min-width:0;width:100%;justify-self:stretch}.form-field--wide .ref-field,.form-field--wide .ref-input-wrap{min-width:0}.form-field .ref-field .label{display:none}.form-field .ref-field.field{display:block}.form-field .helper-error{grid-column:2}.form-field--dialog{display:block}.form-field--dialog .ref-field.field{display:block;width:100%}.form-field--dialog .ref-field .label{display:block;font-size:12px;font-weight:600;color:#374151;margin-bottom:3px}.form-field--dialog .input,.form-field--dialog .ref-input-wrap,.form-field--dialog .ref-field{width:100%;min-width:0;box-sizing:border-box}.form-field--dialog .helper-error{font-size:11px;color:#dc2626;margin-top:2px}.form-field-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}.form-field--short{gap:5px}.form-field--short .label,.form-field--short label{text-align:right}.form-field--short .input,.form-field--short .date-input{width:100%;justify-self:stretch}.form-field--short.form-field--number .input{width:100%}.form-field-row .helper-error{margin-left:0;flex-basis:100%;width:100%}.field{display:grid;grid-template-columns:180px 1fr;gap:var(--ui-space-md);align-items:center}.ref-field{position:relative}.ref-field-inline{width:100%}.ref-field-inline .field{grid-template-columns:1fr;width:100%}.ref-field-inline .label{display:none}.ref-input-wrap{position:relative;width:100%}.ref-caret{display:inline-block;width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}.label{color:var(--ui-text-secondary);white-space:nowrap}.label .req{color:var(--ui-status-warning);margin-left:var(--ui-space-xs)}.input.compact{height:28px;padding:6px 10px}.helper-error{grid-column:2 / 3;color:var(--ui-status-warning);font-size:var(--ui-text-xs)}.message-area{border:1px solid var(--ui-border-light);background:var(--ui-bg-surface);border-radius:var(--ui-radius);padding:var(--ui-space-md);color:var(--ui-status-warning)}.tabular-part{margin-bottom:24px;border:none;padding:0;background:transparent}.tabular-part-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.tabular-part-header .tabular-part-title{font-size:14px;font-weight:600;color:var(--text-color)}.tabular-toolbar{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px}.tabular-toolbar-left,.tabular-toolbar-right{display:inline-flex;align-items:center;gap:6px}.tabular-toolbar-right{margin-left:auto}.tabular-icon{color:var(--text-color);font-weight:600}.tabular-search{position:relative}.tabular-search-input{width:260px;background:#fff;border:1px solid #bfbfbf;padding:4px 28px 4px 8px;font-size:var(--font-size-base)}.tabular-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:none;background:transparent;cursor:pointer;font-size:18px;line-height:1;color:#888}.input.cell-active{outline:2px solid var(--ui-status-overdue);outline-offset:-2px;border-color:var(--ui-status-overdue)}.tabular-part-title{font-weight:600;color:var(--text-color)}.tabular-part-table{min-height:180px;overflow-x:hidden;overflow-y:visible;position:relative;border:1px solid #c7c7c7;border-radius:0;background:#fff}.tabular-part-table .table.tabular{width:100%;table-layout:fixed;border-collapse:collapse;font-size:var(--font-size-base);background:#fff}.table.tabular .ref-input__dropdown{z-index:2000}.ref-field-inline .ref-input,.ref-field-inline .ref-input-wrap{height:var(--input-height);width:100%;max-width:100%}.ref-field-inline .ref-input__field{width:100%}.ref-field-inline .ref-clear{font-size:16px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:var(--ui-space-xl)}.login-card{width:420px;background:var(--ui-bg-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius);padding:var(--ui-space-xl)}.login-card h2{margin:0 0 var(--ui-space-lg) 0;font-size:var(--ui-text-title)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000014;display:flex;align-items:center;justify-content:center;padding:0;z-index:5000}.modal-content{background:#fff;border:1px solid #a7a7a7;border-radius:0;box-shadow:0 2px 8px #0003;max-width:90vw;max-height:85vh;display:flex;flex-direction:column}.transaction-journal-modal,.payment-history-modal,.ref-list-modal{min-width:560px;width:640px}.payment-history-modal{max-width:90vw}.payment-history-link{background:none;border:none;padding:0;font:inherit;color:var(--ui-accent);text-decoration:underline;cursor:pointer}.payment-history-link:hover{color:var(--ui-accent-hover)}.save-confirm-modal{min-width:280px}.modal-drag-handle{cursor:grab;-webkit-user-select:none;user-select:none}.modal-drag-handle:active{cursor:grabbing}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:#efefef;border-bottom:1px solid #c7c7c7;font-size:13px}.modal-header h3{margin:0;font-size:13px;font-weight:600}.modal-header .btn.icon{width:22px;height:22px;border:1px solid #bfbfbf;background:#fff;border-radius:2px;font-size:12px;box-shadow:none}.modal-body{padding:6px;overflow:auto;flex:1}.transaction-journal-table-wrap{overflow-x:auto}.transaction-journal-table{width:100%;border-collapse:collapse;border:2px solid var(--ui-border)}.transaction-journal-table th,.transaction-journal-table td{padding:var(--ui-space-sm) var(--ui-space-md);border:1px dotted var(--ui-border-light);text-align:left}.transaction-journal-table th{background:var(--ui-bg-table-header);border-bottom:2px solid var(--ui-border);font-weight:var(--ui-font-weight-medium)}.transaction-journal-table .col-sn{width:50px;text-align:center}.transaction-journal-table .col-gl{min-width:200px}.transaction-journal-table .col-cur{width:60px}.transaction-journal-table .col-amount{width:100px;text-align:right}.transaction-journal-table .side-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 6px;margin-right:var(--ui-space-sm);border-radius:var(--ui-radius-sm)}.transaction-journal-table .side-dr{color:var(--ui-accent);background:var(--ui-accent-light)}.transaction-journal-table .side-cr{color:var(--ui-status-warning);background:var(--ui-status-warning-bg)}.transaction-journal-table .gl-main{display:flex;flex-direction:column;gap:2px}.transaction-journal-table .account-code{font-weight:var(--ui-font-weight-medium)}.transaction-journal-table .gl-sub{margin-top:var(--ui-space-xs);padding-left:48px;font-size:var(--ui-text-xs);color:var(--ui-text-secondary)}.transaction-journal-table tfoot tr.transaction-totals td{border-top:2px solid var(--ui-border);font-weight:var(--ui-font-weight-medium);padding-top:10px}.transaction-journal-table .totals-stack{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.transaction-journal-table .total-dr{color:var(--ui-accent)}.transaction-journal-table .total-cr{color:var(--ui-status-warning)}.btn.icon.btn-transaction{width:var(--button-height);height:var(--button-height)}.transaction-icon{display:inline-flex;flex-direction:column;align-items:center;line-height:1.1;font-size:10px;font-weight:600}.transaction-icon-dr{color:var(--ui-accent)}.transaction-icon-cr{color:var(--ui-status-warning)}
