:root{--toools-charcoal:#1e2328;--toools-cream:#f3efe6;--toools-orange:#d07a2c;--toools-gray:#8b857a}.toools-brand{color:var(--toools-charcoal);background:var(--toools-cream)}.toools-accent{color:var(--toools-orange)}:root{color:var(--toools-charcoal);background:var(--toools-cream);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Segoe UI,Aptos,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{background-color:var(--toools-cream);background-image:linear-gradient(#1e232809 1px,#0000 1px),linear-gradient(90deg,#1e232809 1px,#0000 1px);background-size:32px 32px;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}#root{min-height:100vh}.app-shell{color:#172033;min-height:100vh;padding:48px 32px 72px}.app-header,.workspace{width:min(1180px,100%);margin:0 auto}.app-header{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:32px;display:flex}.eyebrow{color:#64748b;letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:.72rem;font-weight:800}h1,h2,p{margin-top:0}h1,h2{color:#0f172a;letter-spacing:-.04em}h1{margin-bottom:10px;font-size:clamp(2.5rem,6vw,4.4rem);line-height:.96}h2{margin-bottom:0;font-size:1.35rem;line-height:1.1}.app-description{color:#64748b;max-width:520px;margin-bottom:0;font-size:1rem}.workspace{grid-template-columns:minmax(250px,310px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.panel{background:#ffffffeb;border:1px solid #e2e8f0;border-radius:22px;box-shadow:0 18px 45px #0f172a14}.connections-panel{padding:22px}.panel-heading,.editor-heading,.form-footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.panel-heading{margin-bottom:18px}.count-badge{color:#4338ca;background:#e0e7ff;border-radius:999px;place-items:center;min-width:28px;height:28px;font-size:.8rem;font-weight:800;display:inline-grid}.connection-list{gap:10px;display:grid}.connection-list-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:minmax(0,1fr) 32px;align-items:stretch;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;overflow:hidden}.connection-list-item:hover{border-color:#c7d2fe;transform:translateY(-1px)}.connection-list-item.selected{background:#eef2ff;border-color:#818cf8;box-shadow:0 8px 18px #4f46e51f}.connection-select,.delete-button{font:inherit;border:0}.connection-select{min-width:0;color:inherit;text-align:left;background:0 0;gap:5px;padding:14px 12px 14px 14px;display:grid}.connection-name,.connection-server,.status-line{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.connection-name{color:#1e293b;font-size:.93rem;font-weight:800}.connection-server{color:#64748b;font-size:.78rem}.status-line{color:#64748b;align-items:center;gap:6px;font-size:.72rem;font-weight:700;display:flex}.status-dot,.endpoint-dot{background:#94a3b8;border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.connected .status-dot{background:#10b981}.testing .status-dot{background:#f59e0b}.error .status-dot{background:#ef4444}.delete-button{color:#94a3b8;cursor:pointer;background:0 0;align-self:stretch;font-size:1.25rem;line-height:1}.delete-button:disabled{cursor:not-allowed;opacity:.35}.security-note{color:#475569;background:#eff6ff;border:1px solid #dbeafe;border-radius:12px;gap:10px;margin-top:20px;padding:13px;display:flex}.security-note p{margin-bottom:0;font-size:.75rem;line-height:1.45}.security-icon{color:#2563eb;font-size:1.1rem;line-height:1}.editor-panel{min-width:0;padding:32px}.invoice-panel{grid-column:2;min-width:0;padding:28px 32px 24px}.editor-heading{border-bottom:1px solid #e2e8f0;align-items:flex-start;padding-bottom:26px}.invoice-heading{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:20px;display:flex}.invoice-description{color:#64748b;margin:8px 0 0;font-size:.84rem}.row-count{color:#047857;white-space:nowrap;background:#ecfdf5;border-radius:999px;flex:none;padding:7px 10px;font-size:.74rem;font-weight:800}.invoice-tabs{gap:8px;margin:20px 0;padding-bottom:2px;display:flex;overflow-x:auto}.invoice-tab{color:#475569;cursor:pointer;font:inherit;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex:none;align-items:center;gap:8px;padding:9px 11px;font-size:.79rem;font-weight:800;transition:border-color .16s,background .16s,color .16s;display:inline-flex}.invoice-tab:hover{color:#4338ca;background:#eef2ff;border-color:#a5b4fc}.invoice-tab.active{color:#4338ca;background:#eef2ff;border-color:#818cf8}.invoice-tab small{color:#64748b;font-size:.67rem;font-weight:700}.invoice-tab.active small{color:#6366f1}.invoice-message{color:#475569;background:#eff6ff;border:1px solid #dbeafe;border-radius:11px;padding:14px;font-size:.85rem;font-weight:600}.invoice-table-wrap{border:1px solid #e2e8f0;border-radius:12px;max-height:460px;overflow:auto}.invoice-table{border-collapse:separate;border-spacing:0;color:#334155;width:100%;min-width:680px;font-size:.78rem}.invoice-table th,.invoice-table td{text-align:left;vertical-align:top;border-bottom:1px solid #f1f5f9;border-right:1px solid #f1f5f9;padding:11px 12px}.invoice-table th:last-child,.invoice-table td:last-child{border-right:0}.invoice-table th{z-index:1;color:#475569;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:#f8fafc;font-size:.7rem;font-weight:800;position:sticky;top:0}.invoice-table tbody tr:last-child td{border-bottom:0}.invoice-no-rows{color:#94a3b8;text-align:center!important}.invoice-footnote{color:#94a3b8;margin:10px 0 0;font-size:.72rem}.status-badge{color:#64748b;white-space:nowrap;background:#f1f5f9;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:.75rem;font-weight:800;display:inline-flex}.connection-form{padding-top:28px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.database-field{grid-column:1/-1}.field-label-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.field-count{color:#64748b;font-size:.72rem;font-weight:700}.field{color:#334155;gap:8px;font-size:.82rem;font-weight:800;display:grid}.field input,.field select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:11px;outline:none;width:100%;padding:12px 13px;font-size:.94rem;transition:border-color .16s,box-shadow .16s}.field select{cursor:pointer}.field input::placeholder{color:#94a3b8}.field select:disabled{cursor:not-allowed;color:#94a3b8;background:#f8fafc}.database-empty,.database-picker{background:#f8fafc;border:1px solid #cbd5e1;border-radius:11px}.database-empty{color:#94a3b8;padding:13px;font-size:.87rem;font-weight:600}.database-picker{background:#fff;overflow:hidden}.database-picker-toolbar{color:#64748b;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:14px;padding:10px 13px;font-size:.76rem;font-weight:600;display:flex}.database-picker-actions{flex:none;gap:10px;display:inline-flex}.quiet-button{color:#4f46e5;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-size:.74rem;font-weight:800}.quiet-button:hover{color:#3730a3;text-decoration:underline}.quiet-button:disabled{cursor:wait;opacity:.55;text-decoration:none}.database-options{max-height:190px;display:block;overflow-y:auto}.database-option-header,.database-option{grid-template-columns:18px minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.1fr) 88px;align-items:center;gap:10px;min-width:0;display:grid}.database-option-header{color:#64748b;letter-spacing:.04em;text-transform:uppercase;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:9px 13px;font-size:.68rem;font-weight:800}.database-option-header>:last-child{justify-self:end}.database-option{color:#334155;cursor:pointer;border-bottom:1px solid #f1f5f9;padding:11px 13px;font-size:.84rem;font-weight:700}.database-option input{accent-color:#4f46e5;flex:none;width:16px;height:16px}.database-option-company,.database-option-remark,.database-option-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.database-status{color:#64748b;white-space:nowrap;justify-self:end;font-size:.68rem;font-weight:800}.form-footer{border-top:1px solid #e2e8f0;margin-top:28px;padding-top:24px}.form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.endpoint-note{color:#64748b;align-items:center;gap:8px;font-size:.78rem;display:inline-flex}.primary-button{color:#fff;cursor:pointer;background:#4f46e5;border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:12px 17px;font-size:.88rem;font-weight:800;transition:background .16s,transform .16s,box-shadow .16s;display:inline-flex;box-shadow:0 9px 18px #4f46e533}.primary-button:hover:not(:disabled){background:#4338ca;transform:translateY(-1px);box-shadow:0 12px 22px #4f46e545}.primary-button:disabled{cursor:wait;opacity:.65}.secondary-button{color:#4338ca;cursor:pointer;background:#eef2ff;border:1px solid #c7d2fe;border-radius:11px;justify-content:center;align-items:center;padding:11px 15px;font-size:.82rem;font-weight:800;transition:background .16s,border-color .16s,transform .16s;display:inline-flex}.secondary-button:hover:not(:disabled){background:#e0e7ff;border-color:#818cf8;transform:translateY(-1px)}.secondary-button:disabled{cursor:not-allowed;opacity:.55}.feedback{border-radius:13px;gap:5px;margin-top:24px;padding:15px 17px;font-size:.87rem;display:grid}.feedback strong{font-size:.86rem}.feedback span,.feedback small{color:inherit;opacity:.82}.feedback small{font-size:.74rem}.feedback.connected{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.feedback.error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #6366f159}@media (width<=800px){.app-shell{padding:32px 18px 48px}.app-header{flex-direction:column;align-items:flex-start}.workspace{grid-template-columns:1fr}.invoice-panel{grid-column:auto}.form-grid{grid-template-columns:1fr}.database-options{overflow-x:auto}.database-option-header,.database-option{min-width:620px}}@media (width<=1024px){.workspace{grid-template-columns:1fr}.invoice-panel{grid-column:auto}}.workspace.invoice-focus .invoice-panel{grid-column:1/-1}.workspace.invoice-focus{width:100%}.invoice-panel{scroll-margin-top:24px}.invoice-heading-actions{flex:none;align-items:center;gap:12px;display:inline-flex}.invoice-settings-button{color:#a85e24;cursor:pointer;font-family:var(--desk-mono);letter-spacing:.04em;text-transform:uppercase;background:0 0;border:0;border-bottom:1px solid #b7aa99;padding:3px 0;font-size:.64rem}.invoice-settings-button:hover{border-color:var(--desk-ink);color:var(--desk-ink)}.invoice-reveal{animation:.9s cubic-bezier(.65,0,.35,1) both invoice-reveal}.invoice-preparing{visibility:hidden;opacity:0;pointer-events:none}.app-shell.viewport-locked{height:100vh;min-height:100vh;padding-bottom:28px;overflow:hidden}.app-shell.viewport-locked .invoice-panel{flex-direction:column;min-height:0;max-height:calc(100vh - 135px);display:flex;overflow:hidden}.app-shell.viewport-locked .invoice-table-wrap{flex:auto;min-height:0;max-height:none}@keyframes invoice-reveal{0%{opacity:0;transform:translateY(14px)scale(.995)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.invoice-reveal{animation:none}}.workspace-connecting{pointer-events:none}.workspace-connecting .connections-panel,.workspace-connecting .editor-panel{animation:.52s ease-in-out both workspace-connect-ready}.workspace-connecting .editor-panel{animation-delay:80ms}@keyframes workspace-connect-ready{0%{opacity:1;transform:translateY(0)}to{opacity:.92;transform:translateY(3px)}}.workspace-collapsing{pointer-events:none}.workspace-opening{pointer-events:none;position:relative}.workspace-opening .connections-panel{animation:.82s cubic-bezier(.65,0,.35,1) 1.05s both workspace-rail-enter}.workspace-opening .editor-panel{animation:.92s cubic-bezier(.65,0,.35,1) 1.1s both workspace-editor-enter}.workspace-opening .invoice-panel{z-index:2;width:100%;height:100%;max-height:none;animation:1.05s cubic-bezier(.65,0,.35,1) both invoice-close;position:absolute;inset:0}.workspace-opening .invoice-panel .invoice-heading,.workspace-opening .invoice-panel .invoice-heading-actions,.workspace-opening .invoice-panel .invoice-tabs,.workspace-opening .invoice-panel .invoice-table-wrap,.workspace-opening .invoice-panel .invoice-footnote{animation:none}.workspace-collapsing .connections-panel{animation:.76s cubic-bezier(.65,0,.35,1) both workspace-rail-exit}.workspace-collapsing .editor-panel{animation:.85s cubic-bezier(.65,0,.35,1) .1s both workspace-editor-exit}@keyframes workspace-rail-exit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-22px)}}@keyframes workspace-editor-exit{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translate(22px)scale(.985)}}@keyframes workspace-rail-enter{0%{opacity:0;transform:translate(-22px)}to{opacity:1;transform:translate(0)}}@keyframes workspace-editor-enter{0%{opacity:0;transform:translate(22px)scale(.985)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes invoice-close{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(30px)}}.invoice-reveal .invoice-heading{animation:.7s cubic-bezier(.65,0,.35,1) .18s both invoice-content-in}.invoice-reveal .invoice-heading-actions{animation:.65s cubic-bezier(.65,0,.35,1) .24s both invoice-content-in}.invoice-reveal .invoice-tabs{animation:.7s cubic-bezier(.65,0,.35,1) .3s both invoice-content-in}.invoice-reveal .invoice-table-wrap{will-change:opacity, transform;animation:.9s cubic-bezier(.65,0,.35,1) .38s both invoice-table-in}.invoice-reveal .invoice-table tbody tr.invoice-row-reveal{animation:invoice-row-in .62s calc(.46s + var(--row-reveal-delay,0s)) cubic-bezier(.65, 0, .35, 1) both;will-change:opacity, transform}.invoice-reveal .invoice-table tbody tr:first-child{--row-reveal-delay:0s}.invoice-reveal .invoice-table tbody tr:nth-child(2){--row-reveal-delay:32ms}.invoice-reveal .invoice-table tbody tr:nth-child(3){--row-reveal-delay:64ms}.invoice-reveal .invoice-table tbody tr:nth-child(4){--row-reveal-delay:96ms}.invoice-reveal .invoice-table tbody tr:nth-child(5){--row-reveal-delay:.128s}.invoice-reveal .invoice-table tbody tr:nth-child(6){--row-reveal-delay:.16s}.invoice-reveal .invoice-table tbody tr:nth-child(7){--row-reveal-delay:.192s}.invoice-reveal .invoice-table tbody tr:nth-child(8){--row-reveal-delay:.224s}.invoice-reveal .invoice-table tbody tr:nth-child(9){--row-reveal-delay:.256s}.invoice-reveal .invoice-table tbody tr:nth-child(10){--row-reveal-delay:.288s}.invoice-reveal .invoice-table tbody tr:nth-child(11){--row-reveal-delay:.32s}.invoice-reveal .invoice-table tbody tr:nth-child(12){--row-reveal-delay:.352s}.invoice-reveal .invoice-table tbody tr:nth-child(13){--row-reveal-delay:.384s}.invoice-reveal .invoice-table tbody tr:nth-child(14){--row-reveal-delay:.416s}.invoice-reveal .invoice-table tbody tr:nth-child(15){--row-reveal-delay:.448s}.invoice-reveal .invoice-footnote{animation:.65s cubic-bezier(.65,0,.35,1) .5s both invoice-content-in}@keyframes invoice-content-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes invoice-table-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes invoice-content-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(12px)}}@keyframes invoice-table-out{0%{opacity:1;clip-path:inset(0);transform:translateY(0)}to{opacity:0;clip-path:inset(100% 0 0);transform:translateY(18px)}}@keyframes invoice-row-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.app-header-collapsing .header-brand,.app-header-opening .header-brand,.workspace-collapsing .connections-panel,.workspace-collapsing .editor-panel,.workspace-opening .connections-panel,.workspace-opening .editor-panel,.workspace-opening .invoice-panel,.workspace-opening .invoice-panel .invoice-heading,.workspace-opening .invoice-panel .invoice-heading-actions,.workspace-opening .invoice-panel .invoice-tabs,.workspace-opening .invoice-panel .invoice-table-wrap,.workspace-opening .invoice-panel .invoice-footnote,.workspace-connecting .connections-panel,.workspace-connecting .editor-panel,.invoice-reveal,.invoice-reveal .invoice-heading,.invoice-reveal .invoice-heading-actions,.invoice-reveal .invoice-tabs,.invoice-reveal .invoice-table-wrap,.invoice-reveal .invoice-table tbody tr.invoice-row-reveal,.invoice-reveal .invoice-footnote{animation:none}}@media (width<=520px){.editor-panel{padding:22px}.form-footer,.form-actions{flex-direction:column;align-items:stretch}.form-footer .primary-button,.form-footer .secondary-button{width:100%}}:root{--desk-paper:var(--toools-cream);--desk-paper-deep:#eee9df;--desk-ink:var(--toools-charcoal);--desk-muted:var(--toools-gray);--desk-rule:#d4cdbf;--desk-copper:var(--toools-orange);--desk-copper-soft:#f1d5ae;--desk-live:#3d8b6e;--desk-danger:#b95d52;--desk-mono:"Cascadia Mono", Consolas, monospace}.app-shell{color:var(--desk-ink);padding:42px 28px 76px}.app-header,.workspace{width:min(1240px,100%)}.app-header{border-bottom:1px solid var(--desk-rule);align-items:flex-start;margin-bottom:24px;padding-bottom:24px}.eyebrow{color:var(--desk-copper);font-family:var(--desk-mono);letter-spacing:.16em;margin-bottom:9px;font-size:.67rem}h1,h2{color:var(--desk-ink);letter-spacing:-.055em;font-family:Georgia,Times New Roman,serif;font-weight:500}h1{align-items:center;gap:12px;margin-bottom:12px;font-size:clamp(2.8rem,6vw,4.8rem);line-height:.9;display:flex}h1:after{background:var(--desk-copper);content:"";width:12px;height:12px;display:inline-block}h2{font-size:1.45rem}.app-description{max-width:560px;color:var(--desk-muted);letter-spacing:.01em;font-size:.93rem}.workspace{gap:16px}.panel{border:1px solid var(--desk-rule);background:var(--desk-paper);border-radius:6px;box-shadow:0 1px #202a3314,8px 10px #202a3309}.connections-panel{border-color:var(--desk-ink);background:var(--desk-ink);color:#f7f4ee}.connections-panel h2,.connections-panel .eyebrow{color:#f7f4ee}.connections-panel .eyebrow{color:var(--desk-copper-soft)}.connections-panel .count-badge{background:var(--desk-copper);min-width:30px;height:26px;color:var(--desk-ink);font-family:var(--desk-mono);border-radius:3px;font-size:.72rem}.connection-list-item{box-shadow:none;background:#f7f4ee0f;border-color:#f7f4ee2e;border-radius:4px;transition:border-color .16s,background .16s}.connection-list-item:hover{background:#f7f4ee1a;border-color:#f1d5aecc;transform:none}.connection-list-item.selected{border-color:var(--desk-copper);background:var(--desk-copper);box-shadow:none}.connection-select{padding:14px 12px 14px 14px}.connection-name{color:#f7f4ee;font-family:var(--desk-mono);letter-spacing:-.02em;font-size:.82rem}.connection-server{color:#f7f4ee9e;font-family:var(--desk-mono);font-size:.69rem}.connection-list-item.selected .connection-name,.connection-list-item.selected .connection-server,.connection-list-item.selected .status-line{color:var(--desk-ink)}.status-line{font-family:var(--desk-mono);font-size:.66rem}.status-line.connected,.status-badge.connected{color:#8fd1b0}.status-badge.connected{color:var(--desk-live)}.status-line.testing,.status-badge.testing{color:#f1c27f}.status-badge.testing{color:#a56b22}.status-line.error,.status-badge.error{color:#f0a59a}.status-badge.error{color:var(--desk-danger)}.status-line.saved,.status-badge.saved{color:var(--desk-copper-soft)}.status-badge.saved{color:var(--desk-copper)}.connection-list-item.selected .status-line.connected,.connection-list-item.selected .status-line.testing,.connection-list-item.selected .status-line.error,.connection-list-item.selected .status-line.saved{color:var(--desk-ink)}.delete-button{color:#f7f4ee80}.delete-button:hover:not(:disabled){color:var(--desk-ink);background:#f7f4ee52}.security-note{color:#f7f4eeb8;background:#f1d5ae1a;border-color:#f1d5ae57;border-radius:4px}.security-note p{font-size:.71rem}.security-icon{color:var(--desk-copper-soft)}.editor-panel,.invoice-panel{border-top:3px solid var(--desk-copper)}.editor-heading,.invoice-heading,.form-footer{border-color:var(--desk-rule)}.status-badge{background:var(--desk-paper-deep);color:var(--desk-muted);font-family:var(--desk-mono);text-transform:uppercase;border-radius:3px;font-size:.67rem}.field{color:var(--desk-ink);font-family:var(--desk-mono);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem}.field input,.field select{color:var(--desk-ink);background:#fffdf8;border-color:#bfb6a8;border-radius:4px;padding:12px 13px;font-family:Segoe UI,Aptos,sans-serif;font-size:.9rem}.field input:focus,.field select:focus{border-color:var(--desk-copper);box-shadow:0 0 0 3px #d8893f29}.field select:disabled{background:var(--desk-paper-deep);color:#9b9d96}.field-count,.invoice-description,.invoice-footnote,.endpoint-note{color:var(--desk-muted)}.database-empty,.database-picker{background:#fffdf8;border-color:#bfb6a8;border-radius:4px}.database-empty{color:var(--desk-muted)}.database-picker-toolbar{border-color:var(--desk-rule);color:var(--desk-muted);font-family:var(--desk-mono);font-size:.67rem}.database-option-header{border-color:var(--desk-rule);background:var(--desk-paper-deep);color:var(--desk-muted);font-family:var(--desk-mono);font-size:.62rem}.quiet-button{color:#a85e24;font-family:var(--desk-mono);text-transform:uppercase;font-size:.68rem}.quiet-button:hover{color:var(--desk-ink)}.database-option{border-color:var(--desk-paper-deep);color:var(--desk-ink);font-family:Segoe UI,Aptos,sans-serif;font-size:.82rem}.database-option:hover{background:#f3e9d9}.database-option input{accent-color:var(--desk-copper)}.database-status{font-family:var(--desk-mono);text-transform:uppercase;font-size:.62rem}.database-status.testing{color:#a56b22}.database-status.connected{color:var(--desk-live)}.database-status.error{color:var(--desk-danger)}.form-footer{margin-top:26px;padding-top:22px}.endpoint-note{font-family:var(--desk-mono);text-transform:uppercase;font-size:.66rem}.endpoint-dot{background:var(--desk-live);box-shadow:0 0 0 4px #d6e8dc}.primary-button,.secondary-button{box-shadow:none;font-family:var(--desk-mono);letter-spacing:.02em;text-transform:uppercase;border-radius:4px}.primary-button{background:var(--desk-copper);color:var(--desk-ink);padding:12px 16px}.primary-button:hover:not(:disabled){box-shadow:none;background:#efaa5d}.secondary-button{color:#a85e24;background:0 0;border-color:#c59b6d;padding:11px 14px}.secondary-button:hover:not(:disabled){border-color:var(--desk-copper);background:#f3e9d9}.feedback{border-radius:4px;font-size:.84rem}.feedback.connected{color:var(--desk-live);background:#edf6ef;border-color:#afd0bd}.feedback.error{color:var(--desk-danger);background:#fbefed;border-color:#e2b7b0}.invoice-panel{padding-top:26px}.row-count{color:var(--desk-live);font-family:var(--desk-mono);text-transform:uppercase;background:0 0;border:1px solid #b7aa99;border-radius:3px;font-size:.66rem}.invoice-tabs{border-bottom:1px solid var(--desk-rule);align-items:flex-end;gap:0;min-height:31px;overflow:auto hidden}.invoice-tab{color:var(--desk-muted);font-family:var(--desk-mono);white-space:nowrap;text-transform:uppercase;background:0 0;border-width:1px 1px 0;border-color:#0000;border-radius:4px 4px 0 0;padding:9px 14px 8px;font-size:.68rem;font-weight:700}.invoice-tab:hover{border-color:var(--desk-rule);background:var(--desk-paper-deep);color:var(--desk-ink)}.invoice-tab.active,.invoice-tab[aria-selected=true]{border-color:var(--desk-ink);border-bottom-color:var(--desk-copper);background:var(--desk-ink);box-shadow:0 2px 0 var(--desk-copper);color:var(--desk-paper);font-weight:900}.invoice-tab small{color:var(--desk-live);text-transform:none;font-family:Segoe UI,Aptos,sans-serif;font-size:.66rem}.invoice-tab.active small,.invoice-tab[aria-selected=true] small{color:#9fe2ba}.invoice-message{color:var(--desk-live);background:#edf6ef;border-color:#c9d9cc;border-radius:4px}.invoice-message.error{color:var(--desk-danger);background:#fbefed;border-color:#e2b7b0}.invoice-table-wrap{border-color:#bfb6a8;border-radius:4px}.invoice-table{color:var(--desk-ink);font-family:var(--desk-mono);font-size:.7rem}.invoice-table th,.invoice-table td{border-color:var(--desk-paper-deep);padding:10px 12px}.invoice-table th{background:var(--desk-ink);color:#f7f4ee;letter-spacing:.08em;font-size:.62rem}.invoice-table tbody tr:hover{background:#f3e9d9}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #d8893f61}@media (width<=800px){.app-shell{padding:28px 16px 52px}.app-header{margin-bottom:18px;padding-bottom:18px}}.app-header{justify-content:flex-start;align-items:flex-end;margin-bottom:18px;padding:0 0 12px}.app-header h1{font-size:clamp(2rem,3.2vw,3rem)}.app-header{border-bottom:0;position:relative}.app-header-expanded{--header-shift:max(0px, calc((100vw - 56px - 1240px) / 2))}.app-header:after{background:var(--desk-rule);content:"";height:1px;position:absolute;bottom:0;left:0;right:0}.app-header-expanded .header-brand{transform:translate3d(calc(-1 * var(--header-shift)), 0, 0)}.app-header-expanded:after{right:calc(0px - var(--header-shift));left:calc(0px - var(--header-shift))}.app-header-collapsing:after{animation:.98s cubic-bezier(.65,0,.35,1) both header-rule-expand}.app-header-opening:after{animation:.98s cubic-bezier(.65,0,.35,1) 1.1s both header-rule-contract}@keyframes header-rule-expand{0%{left:0;right:0}to{right:calc(0px - var(--header-shift));left:calc(0px - var(--header-shift))}}@keyframes header-rule-contract{0%{right:calc(0px - var(--header-shift));left:calc(0px - var(--header-shift))}to{left:0;right:0}}.app-header-collapsing .header-brand{animation:.98s cubic-bezier(.65,0,.35,1) both header-brand-left}.app-header-opening .header-brand{animation:.98s cubic-bezier(.65,0,.35,1) 1.1s both header-brand-right}@keyframes header-brand-left{0%{transform:translate(0,0)}to{transform:translate3d(calc(-1 * var(--header-shift)), 0, 0)}}@keyframes header-brand-right{0%{transform:translate3d(calc(-1 * var(--header-shift)), 0, 0)}to{transform:translate(0,0)}}.header-brand{will-change:transform;align-items:center;min-width:0;min-height:42px;display:flex}.header-logo{object-fit:contain;width:auto;max-width:100%;display:block}.header-logo-horizontal{height:42px}.header-logo-mark{width:34px;height:34px;display:none}.panel-heading-actions{align-items:center;gap:10px;display:inline-flex}.new-connection-compact{border:1px solid var(--desk-copper);width:26px;height:26px;color:var(--desk-copper);cursor:pointer;font-family:var(--desk-mono);background:0 0;border-radius:3px;place-items:center;font-size:1rem;line-height:1;transition:background .16s,color .16s;display:inline-grid}.new-connection-compact:hover{background:var(--desk-copper);color:var(--desk-ink)}@media (prefers-reduced-motion:reduce){.app-header-collapsing .header-brand,.app-header-opening .header-brand,.app-header-collapsing:after,.app-header-opening:after{animation:none}}@media (width<=800px){.app-header{margin-bottom:18px}}@media (width<=520px){.header-brand{min-height:34px}.header-logo-horizontal{display:none}.header-logo-mark{display:block}}@media (width>=1025px){html,body{height:100%;overflow:hidden}#root{height:100%;min-height:100%}.app-shell{height:100vh;min-height:100vh;padding-top:28px;padding-bottom:28px;overflow:hidden}}.table-loading{border:1px solid var(--desk-rule);background:#fffdf8;border-radius:4px;overflow:hidden}.table-loading-head{border-bottom:1px solid var(--desk-rule);color:var(--desk-muted);font-family:var(--desk-mono);text-transform:uppercase;justify-content:space-between;align-items:center;padding:11px 14px;font-size:.67rem;display:flex}.loading-dots{letter-spacing:.16em;animation:1s ease-in-out infinite loading-pulse}.table-skeleton{display:grid;overflow:hidden}.skeleton-row{border-bottom:1px solid var(--desk-paper-deep);grid-template-columns:70px 130px 130px 120px 150px minmax(180px,1fr);gap:1px;min-height:42px;display:grid}.skeleton-row:last-child{border-bottom:0}.skeleton-row span{background:var(--desk-paper-deep);border-radius:2px;margin:11px 10px;position:relative;overflow:hidden}.skeleton-row span:after{content:"";background:linear-gradient(90deg,#0000,#ffffffa6,#0000);animation:1.25s ease-in-out infinite skeleton-sweep;position:absolute;inset:0;transform:translate(-100%)}@keyframes skeleton-sweep{to{transform:translate(100%)}}@keyframes loading-pulse{0%,to{opacity:.35}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.loading-dots,.skeleton-row span:after{animation:none}}@media (width<=800px){.skeleton-row{grid-template-columns:54px 100px 100px 90px 120px minmax(150px,1fr)}}.data-table-shell{flex-direction:column;flex:auto;min-height:0;display:flex}.data-table-toolbar{background:#f1ede5;border:1px solid #bfb6a8;border-bottom:0;justify-content:space-between;align-items:center;gap:12px;min-height:43px;padding:6px 8px 6px 11px;display:flex}.data-table-hint{color:var(--desk-muted);font-family:var(--desk-mono);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.61rem;overflow:hidden}.data-table-actions{flex:none;align-items:center;gap:7px;display:inline-flex}.data-table-actions>button,.column-chooser-wrap>button{color:#8d4c1d;cursor:pointer;font-family:var(--desk-mono);text-transform:uppercase;background:#fffdf8;border:1px solid #b7aa99;border-radius:3px;padding:6px 9px;font-size:.62rem}.data-table-actions>button:hover,.column-chooser-wrap>button:hover{border-color:var(--desk-copper);background:#f3e9d9}.data-table-count{color:var(--desk-live);font-family:var(--desk-mono);white-space:nowrap;font-size:.63rem}.column-chooser-wrap{position:relative}.column-chooser{z-index:45;background:#fffdf8;border:1px solid #a99d8e;border-radius:4px;width:min(310px,100vw - 32px);max-height:min(470px,65vh);padding:7px;position:absolute;top:calc(100% + 6px);right:0;overflow:auto;box-shadow:0 12px 28px #202a3333}.column-chooser-title,.data-filter-title{color:var(--desk-ink);font-family:var(--desk-mono);text-transform:uppercase;padding:6px 7px 8px;font-size:.68rem;font-weight:800}.column-chooser label{color:var(--desk-ink);align-items:center;gap:8px;padding:6px 7px;font-size:.73rem;display:flex}.column-chooser label:hover{background:#f3e9d9}.column-chooser input,.data-filter-menu input[type=checkbox]{accent-color:var(--desk-live)}.column-reset{border:0;border-top:1px solid var(--desk-rule);color:#a85e24;cursor:pointer;width:100%;font-family:var(--desk-mono);text-align:left;text-transform:uppercase;background:0 0;border-radius:0;margin-top:6px;padding:9px;font-size:.64rem}.data-table-head{background:var(--desk-ink);border:1px solid #bfb6a8;border-bottom:0;flex:0 0 42px;height:42px;overflow:hidden}.data-table-head .invoice-table{will-change:transform}.data-table-scroll.invoice-table-wrap{border-radius:0 0 4px 4px;flex:auto;min-height:0;max-height:none}.data-table-shell .invoice-table{table-layout:fixed;width:max-content;min-width:680px}.data-table-shell .invoice-table th,.data-table-shell .invoice-table td{text-overflow:ellipsis;white-space:nowrap;padding:10px 12px;overflow:hidden}.data-table-shell .invoice-table-body tbody tr:not(.virtual-spacer){height:35px}.data-table-shell .invoice-table-body tbody tr.record-view-row{cursor:pointer}.data-table-shell .invoice-table-body tbody tr.record-view-row:hover td,.data-table-shell .invoice-table-body tbody tr.record-view-row:focus td{background:#f3e5d2}.data-table-shell .invoice-table-body tbody tr.record-view-row:focus{outline:2px solid var(--desk-copper);outline-offset:-2px}.data-table-shell .invoice-table-body tbody tr:not(.virtual-spacer) td{height:35px;padding-top:7px;padding-bottom:7px}.data-table-shell .invoice-table-body .virtual-spacer td{background:0 0;border:0;padding:0}.data-table-shell .invoice-table th:not(:last-child){border-right:1px solid #667078}.data-table-shell .invoice-table th{cursor:grab;-webkit-user-select:none;user-select:none;height:41px;position:static}.data-table-shell .invoice-table th:active{cursor:grabbing}.data-table-shell .invoice-table th.dragging{opacity:.45}.data-table-shell .invoice-table th.drag-over{box-shadow:inset 3px 0 0 var(--desk-copper);background:#294149}.data-table-shell .invoice-table th.sort-active{color:#f1d5ae}.data-table-shell .invoice-table th.filter-active{background:#294149}.data-table-shell .invoice-table td.number-cell{text-align:right;font-variant-numeric:tabular-nums}.record-view-backdrop{z-index:200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1822298f;place-items:center;padding:14px;animation:.26s ease-out both record-view-backdrop-in;display:grid;position:fixed;inset:0}.record-view-panel{border:1px solid #b9ad9d;border-top:3px solid var(--desk-copper);background:#f8f5ef;border-radius:5px;flex-direction:column;width:min(1160px,100%);max-height:calc(100vh - 28px);animation:.36s cubic-bezier(.22,1,.36,1) both record-view-panel-in;display:flex;overflow:hidden;box-shadow:0 24px 70px #161f2647}.record-view-header{border-bottom:1px solid var(--desk-rule);justify-content:space-between;align-items:center;gap:16px;padding:12px 18px 10px;display:flex}.record-view-kicker{color:var(--desk-copper);font-family:var(--desk-mono);letter-spacing:.14em;text-transform:uppercase;margin-bottom:3px;font-size:.58rem;font-weight:800;display:block}.record-view-header h2{color:var(--desk-ink);font-family:var(--desk-serif);margin:0;font-size:1.45rem;font-weight:500}.record-view-header button{border:1px solid var(--desk-copper);color:#994f19;cursor:pointer;font-family:var(--desk-mono);text-transform:uppercase;background:0 0;border-radius:3px;padding:6px 10px;font-size:.61rem;font-weight:800}.record-view-header button:hover{background:#f1e2cf}.record-view-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.record-view-actions button:disabled{cursor:wait;opacity:.62}.record-view-actions .record-view-save{background:var(--desk-copper);color:#1d2930}.record-view-actions .record-view-save:hover:not(:disabled){background:#e9a15d}.record-view-error{color:var(--desk-danger);background:#fbefed;border:1px solid #e2b7b0;border-radius:4px;margin:10px 18px 0;padding:7px 10px;font-size:.78rem}.record-view-content{padding:12px 18px 16px;overflow:auto}.record-view-tabs{border-bottom:1px solid var(--desk-rule);background:#eee9df;align-items:flex-end;gap:0;padding:0 18px;display:flex;overflow-x:auto}.record-view-tabs button{color:#5d666b;cursor:pointer;font-family:var(--desk-mono);letter-spacing:.04em;text-transform:uppercase;background:0 0;border:1px solid #0000;border-bottom:0;border-radius:3px 3px 0 0;flex:none;padding:6px 10px 5px;font-size:.58rem;font-weight:800}.record-view-tabs button:hover{color:var(--desk-ink);background:#f7f3eb}.record-view-tabs button.active{color:#994f19;background:#fffdf8;border-color:#c8bdaf}.record-view-section{border:0;border-top:1px solid var(--desk-rule);margin:0 0 12px;padding:9px 0 0}.record-view-section:last-child{margin-bottom:0}.record-view-section legend{color:var(--desk-copper);font-family:var(--desk-mono);letter-spacing:.09em;text-transform:uppercase;padding:0 10px 0 0;font-size:.59rem;font-weight:800}.record-view-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px;display:grid}.record-view-section-general .record-view-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.record-view-section-general .record-view-field-database{grid-column:1/-1}.record-view-section-general .record-view-field-companyname,.record-view-section-general .record-view-field-desc2{grid-column:span 2}.record-view-section-billing .record-view-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.record-view-section-billing .record-view-field-address1,.record-view-section-billing .record-view-field-address2,.record-view-section-billing .record-view-field-address3,.record-view-section-billing .record-view-field-address4{min-height:28px}.record-view-section-account .record-view-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.record-view-section-bank .record-view-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.record-view-field{flex-direction:column;gap:2px;min-width:0;display:flex}.record-view-field.wide{grid-column:1/-1}.record-view-field>span{color:#4d5960;font-family:var(--desk-mono);text-transform:uppercase;font-size:.56rem;font-weight:800}.record-view-field input,.record-view-field textarea,.record-view-field select{box-sizing:border-box;width:100%;min-height:28px;color:var(--desk-ink);font-family:var(--desk-mono);background:#fffdf8;border:1px solid #c8bdaf;border-radius:3px;padding:5px 7px;font-size:.68rem}.record-view-field select{min-height:28px}.record-view-account-picker{min-width:0;position:relative}.record-view-account-picker input{padding-right:30px}.record-view-account-suggest{border:1px solid var(--desk-copper);color:#994f19;cursor:pointer;width:22px;height:22px;font-family:var(--desk-mono);background:#f1e2cf;border-radius:2px;place-items:center;padding:0;font-size:.78rem;font-weight:900;line-height:1;display:grid;position:absolute;top:3px;right:3px}.record-view-account-suggest:hover:not(:disabled){background:var(--desk-copper);color:var(--desk-ink)}.record-view-account-suggest:disabled{cursor:wait;opacity:.55}.tax-entity-picker{min-width:0;position:relative}.tax-entity-picker-trigger{box-sizing:border-box;border:1px solid var(--desk-copper);width:100%;min-height:28px;color:var(--desk-ink);cursor:pointer;font-family:var(--desk-mono);text-align:left;background:#fff;border-radius:3px;justify-content:space-between;align-items:center;gap:8px;padding:5px 7px;font-size:.68rem;display:flex}.tax-entity-picker-trigger.placeholder{color:#667177}.tax-entity-picker-trigger:focus{outline:0;box-shadow:0 0 0 3px #d8893f29}.tax-entity-picker-trigger:disabled{background:var(--desk-paper-deep);color:#9b9d96;cursor:not-allowed;border-color:#c8bdaf}.tax-entity-picker-trigger>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tax-entity-picker-menu{z-index:20;border:1px solid var(--desk-copper);background:#fffdf8;border-radius:3px;position:absolute;top:calc(100% + 3px);left:0;right:0;overflow:hidden;box-shadow:0 14px 28px #161f2633}.tax-entity-picker-search{box-sizing:border-box;border:0!important;border-bottom:1px solid var(--desk-rule)!important;background:#fff!important;border-radius:0!important;width:100%!important;min-height:30px!important;padding:7px 8px!important}.tax-entity-picker-options{overscroll-behavior:contain;max-height:270px;overflow-y:auto}.tax-entity-picker-options button{width:100%;color:var(--desk-ink);cursor:pointer;font-family:var(--desk-mono);text-align:left;background:0 0;border:0;border-bottom:1px solid #c8bdaf73;padding:7px 8px;font-size:.64rem;display:block}.tax-entity-picker-options button:hover,.tax-entity-picker-options button.selected{color:#994f19;background:#f1e2cf}.tax-entity-picker-empty{color:var(--desk-muted);font-family:var(--desk-mono);padding:10px 8px;font-size:.64rem;display:block}.record-view-tab-empty{color:#667177;font-family:var(--desk-mono);text-align:center;text-transform:uppercase;border:1px dashed #c8bdaf;padding:28px 18px;font-size:.72rem}.record-view-field input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--desk-copper);align-self:flex-start}.record-view-field select:disabled{opacity:1;color:var(--desk-ink);cursor:default}.record-view-field input:not([readonly]),.record-view-field textarea:not([readonly]),.record-view-field select:not(:disabled){border-color:var(--desk-copper);background:#fff}.record-view-field textarea{resize:vertical;white-space:pre-wrap;min-height:48px}@keyframes record-view-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes record-view-panel-in{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.column-header-content,.column-header-label{align-items:center;display:flex}.column-header-content{justify-content:space-between;gap:6px;min-height:22px}.column-header-label{gap:5px;min-width:0}.sort-indicator{color:#efaa5d;letter-spacing:0;font-size:.58rem}.column-filter-button{color:#aeb8bd;cursor:pointer;background:0 0;border:0;border-radius:3px;flex:none;place-items:center;width:24px;height:24px;padding:0;font-size:.82rem;line-height:1;display:inline-grid}.column-filter-button:hover{color:#fff;background:#ffffff1f}.column-filter-button.active{background:var(--desk-live);color:#fff}.data-filter-menu{z-index:100;background:#fffdf8;border:1px solid #a99d8e;border-radius:4px;width:310px;max-height:min(420px,100vh - 16px);padding:10px;position:fixed;overflow:hidden;box-shadow:0 14px 32px #202a333d}.data-filter-search,.data-number-filter input,.data-number-filter select{width:100%;color:var(--desk-ink);background:#fff;border:1px solid #bfb6a8;border-radius:3px;padding:8px 9px;font-size:.74rem}.data-filter-search:focus,.data-number-filter input:focus,.data-number-filter select:focus{border-color:var(--desk-copper);outline:2px solid #d8893f33}.data-filter-values,.data-date-tree{border:1px solid var(--desk-rule);background:#fff;max-height:270px;margin-top:7px;overflow:auto}.data-filter-option,.data-date-node,.data-date-day{min-height:29px;color:var(--desk-ink);align-items:center;gap:7px;padding:4px 7px;font-size:.72rem;display:flex}.data-filter-option:hover,.data-date-day:hover{background:#f3e9d9}.data-filter-select-all{z-index:1;border-bottom:1px solid var(--desk-rule);background:#f7f4ee;font-weight:700;position:sticky;top:0}.data-filter-empty{color:var(--desk-muted);text-align:center;padding:18px 8px;font-size:.72rem}.data-date-year{border-bottom:1px solid #eee9df}.data-date-month{margin-left:20px}.data-date-day{margin-left:28px}.data-date-toggle{width:16px;height:16px;color:var(--desk-ink);cursor:pointer;background:#fff;border:1px solid #938879;border-radius:2px;place-items:center;padding:0;font-size:.67rem;line-height:1;display:inline-grid}.data-number-filter{grid-template-columns:74px 1fr;gap:7px;display:grid}.data-number-filter input:nth-of-type(2){grid-column:2}.data-filter-error{color:var(--desk-danger);margin-top:7px;font-size:.7rem}.data-filter-footer{border-top:1px solid var(--desk-rule);justify-content:flex-end;align-items:center;gap:7px;margin-top:9px;padding-top:9px;display:flex}.data-filter-footer button{color:var(--desk-ink);cursor:pointer;font-family:var(--desk-mono);text-transform:uppercase;background:#fff;border:1px solid #b7aa99;border-radius:3px;padding:6px 9px;font-size:.62rem}.data-filter-footer .data-filter-clear{color:#a85e24;border-color:#0000;margin-right:auto}.data-filter-footer .data-filter-apply{border-color:var(--desk-copper);background:var(--desk-copper)}@media (width<=800px){.data-table-toolbar{flex-direction:column;align-items:flex-start}.data-table-hint{display:none}.data-table-actions{flex-wrap:wrap;width:100%}.data-table-count{margin-left:auto}.record-view-backdrop{padding:12px}.record-view-panel{max-height:calc(100vh - 24px)}.record-view-header,.record-view-content{padding-left:16px;padding-right:16px}.record-view-grid,.record-view-section-general .record-view-grid,.record-view-section-billing .record-view-grid,.record-view-section-account .record-view-grid,.record-view-section-bank .record-view-grid{grid-template-columns:1fr}.record-view-field.wide{grid-column:auto}}
