:root{--bg: #f5f6f8;--surface: #ffffff;--surface-2: #f0f2f5;--border: #e2e5ea;--border-strong: #c9cdd4;--text: #16181d;--muted: #5f6673;--accent: #0d5eaf;--accent-hover: #0a4d90;--accent-text: #ffffff;--brand: #f5c400;--positive: #18794e;--negative: #b42318;--warning: #a14a06;--radius: 12px;--radius-sm: 8px;--control-h: 36px;--shadow-md: 0 4px 16px rgb(16 24 40 / .1);--shadow-lg: 0 12px 40px rgb(16 24 40 / .18);--overlay: rgb(16 24 40 / .4);color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #111317;--surface: #1a1d23;--surface-2: #22262d;--border: #2c3038;--border-strong: #3a3f48;--text: #e8eaee;--muted: #9aa1ad;--accent: #6aaeef;--accent-hover: #8cc1f3;--accent-text: #0d1117;--positive: #4cc38a;--negative: #f2726a;--warning: #f0a35c;--shadow-md: 0 4px 16px rgb(0 0 0 / .35);--shadow-lg: 0 12px 40px rgb(0 0 0 / .5);--overlay: rgb(0 0 0 / .55);color-scheme:dark}}:root{--accent-soft: color-mix(in srgb, var(--accent) 10%, var(--surface));--accent-line: color-mix(in srgb, var(--accent) 40%, var(--border));--positive-soft: color-mix(in srgb, var(--positive) 12%, var(--surface));--positive-line: color-mix(in srgb, var(--positive) 40%, var(--border));--negative-soft: color-mix(in srgb, var(--negative) 12%, var(--surface));--negative-line: color-mix(in srgb, var(--negative) 40%, var(--border));--warning-soft: color-mix(in srgb, var(--warning) 12%, var(--surface));--warning-line: color-mix(in srgb, var(--warning) 40%, var(--border))}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2{margin:0;line-height:1.25}h1{font-size:1.6rem}h2{font-size:1.2rem;margin-bottom:.5rem}.page{max-width:1100px;margin:0 auto;padding:24px 16px 48px;display:grid;gap:16px}.header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:4px solid var(--brand);padding-top:16px}.header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.muted{color:var(--muted)}.small{font-size:.85rem}.pad{padding:16px;margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.connect{padding:32px;text-align:center;display:grid;gap:8px;justify-items:center}.btn{font:inherit;font-weight:500;border:1px solid transparent;border-radius:var(--radius-sm);min-height:var(--control-h);padding:0 14px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;transition:background-color .12s,border-color .12s}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-text)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-ghost{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.pill{font-size:.8rem;padding:2px 10px;border-radius:999px}.pill-ok{background:var(--positive-soft);color:var(--positive)}.tabs{display:flex;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:4px}.tab{font:inherit;color:var(--muted);background:transparent;border:none;border-radius:var(--radius-sm);padding:6px 16px;cursor:pointer}.tab-active{background:var(--accent);color:var(--accent-text)}.status-row{padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.empty{padding:24px;text-align:center}.empty p{margin:0}.form{padding:24px;display:grid;gap:12px;max-width:520px}.form p{margin:0}.segmented{display:flex;gap:4px}.btn-selected{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-line)}.pill-in{background:var(--positive-soft);color:var(--positive)}.pill-out{background:var(--accent-soft);color:var(--accent)}.pill-warn{margin-left:6px;background:var(--negative-soft);color:var(--negative)}tr.cancelled td{opacity:.55}.banner.banner-ok{background:var(--positive-soft);border-color:var(--positive-line)}.banner{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius);background:var(--warning-soft);border:1px solid var(--warning-line)}.bank-card{padding:16px;display:grid;gap:14px}.bank-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.bank-card-empty{margin:0}.accounts{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.account{font:inherit;color:inherit;text-align:left;padding:12px 14px;display:grid;gap:2px;cursor:pointer;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);transition:background-color .12s,border-color .12s}.account:hover{border-color:var(--border-strong)}.account-selected,.account-selected:hover{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.account-name{font-weight:600}.account-iban{color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums;word-break:break-all}.account-balance{font-size:1.15rem;font-weight:600;margin-top:4px}.toolbar{padding:12px 16px;display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end}.toolbar-range{display:flex;gap:8px;flex-wrap:wrap}.toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.field{display:grid;gap:4px}.field label{font-size:.8rem;color:var(--muted)}.field input,.field select,.field textarea{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-height:var(--control-h);padding:0 10px}.field textarea{padding:8px 10px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}.presets{display:inline-flex;flex-wrap:wrap;gap:2px;padding:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.preset{font:inherit;font-size:.875rem;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:6px;min-height:calc(var(--control-h) - 6px);padding:0 10px;cursor:pointer;white-space:nowrap}.preset:hover{color:var(--text)}.preset-active,.preset-active:hover{background:var(--surface);color:var(--accent);border-color:var(--accent-line);box-shadow:0 1px 2px #1018280f}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.stat{padding:12px 16px;display:grid}.stat strong{font-size:1.2rem;font-variant-numeric:tabular-nums}.positive{color:var(--positive)}.negative{color:var(--negative)}.table-card{overflow:hidden}.table-scroll{position:relative;overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px 16px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{font-size:.8rem;color:var(--muted);font-weight:600;background:var(--bg)}tr:last-child td{border-bottom:none}.num{text-align:right;font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.btn-small{min-height:30px;padding:0 10px;font-size:.85rem}.block{display:block}.inline-select{font:inherit;font-size:.85rem;color:inherit;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-height:30px;padding:0 6px;max-width:9.5rem}.col-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--border)}.recon-col{overflow:hidden}.recon-item{border-bottom:1px solid var(--border)}.recon-item:last-child{border-bottom:none}.recon-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 14px}.recon-row>.recon-main{flex:1 1 14rem}.recon-explain{display:grid;gap:8px;margin:0 14px 12px;padding:10px 12px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--surface)}.recon-explain-fields{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.recon-explain .field span{font-size:.8rem;color:var(--muted)}.recon-explain-note{flex:1 1 12rem}.recon-explain-fields .recon-actions{margin-left:auto}.recon-main{display:flex;gap:8px;align-items:flex-start;min-width:0;overflow-wrap:anywhere;cursor:default}.recon-main input{margin-top:4px;cursor:pointer}.recon-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0;max-width:100%;min-width:0}.pill-exact,.pill-status-reconciled{background:var(--positive-soft);color:var(--positive)}.pill-withholding,.pill-status-partial{background:var(--warning-soft);color:var(--warning)}.pill-likely{background:var(--surface-2);color:var(--muted)}.lang-switch .btn{min-width:40px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.attach-btn{gap:4px;color:var(--muted)}.attach-btn.attach-has{color:var(--accent);border-color:var(--accent-line)}.attach-dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 64px);padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);box-shadow:var(--shadow-lg)}.attach-dialog::backdrop{background:var(--overlay)}.attach-dialog[open]{display:grid;gap:12px}.attach-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.attach-head .muted{overflow-wrap:anywhere}.attach-message{font-size:.9rem}.attach-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--radius)}.attach-list li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border)}.attach-list li:last-child{border-bottom:none}.attach-name{display:grid;min-width:0;flex:1 1 12rem;overflow-wrap:anywhere}.attach-drop{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;padding:18px 12px;text-align:center;border:1.5px dashed var(--border);border-radius:var(--radius)}.attach-drop .block{flex-basis:100%}.attach-drop-active{border-color:var(--accent);background:var(--accent-soft)}.recon-explain-file{flex:1 1 100%}.recon-explain-file input{font-size:.85rem;padding:4px;max-width:100%}.view-switch{justify-self:start}.feed-lists{margin:10px 14px}.feed-card .recon-item:last-child{border-bottom:none}.feed-suggestion{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:0 14px 10px;padding:8px 12px;border:1px solid var(--positive-line);border-radius:var(--radius-sm);background:var(--positive-soft);overflow-wrap:anywhere}.feed-panel{display:grid;gap:8px;margin:0 14px 12px;padding:10px 12px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--surface)}.feed-panel-head,.feed-panel-foot{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.feed-search{flex:1 1 14rem;min-width:0}.feed-candidates{list-style:none;margin:0;padding:0;max-height:22rem;overflow-y:auto}.feed-candidates li{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:6px 2px;border-bottom:1px solid var(--border)}.feed-candidates li:last-child{border-bottom:none}.feed-candidates .recon-main{cursor:pointer}.link-button{font:inherit;padding:0;border:none;background:none;color:var(--accent);cursor:pointer;text-align:left;overflow-wrap:anywhere}.link-button:hover{text-decoration:underline}.report-table td>div+div{margin-top:6px}.intro{margin:0}.registry-form{max-width:640px}.party-search{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-height:var(--control-h);padding:0 10px;flex:1 1 14rem;min-width:0}.party-row{cursor:pointer}.party-row:hover td,.party-row:focus-visible td{background:var(--accent-soft)}.party-table .pill+.pill{margin-left:4px}.party-dialog{width:min(640px,calc(100vw - 32px))}.party-form{display:grid;gap:12px}.party-section{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:var(--radius)}.party-section p{margin:0}.party-section-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.party-registry{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 12px;margin:0;font-size:.9rem}.party-registry-row{display:contents}.party-registry dt{color:var(--muted)}.party-registry dd{margin:0;overflow-wrap:anywhere}.party-roles{display:flex;gap:16px}.party-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}.party-form .field span{font-size:.8rem}.party-form textarea{font:inherit;color:inherit;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px;resize:vertical}.party-actions{justify-content:flex-end}.auth-page{max-width:440px;margin:0 auto;padding:48px 16px;display:grid;gap:16px}.auth-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-top:4px solid var(--brand);padding-top:16px}.auth-top p{margin:4px 0 0}.auth-card{padding:24px;display:grid;gap:12px}.auth-card h2,.auth-card p{margin:0}.auth-card .field span{font-size:.85rem;color:var(--muted)}.legal-page{max-width:720px;margin:0 auto;padding:48px 16px;display:grid;gap:16px}.legal-card{padding:24px;line-height:1.55}.legal-card h2{margin:0}.legal-card h3{margin:20px 0 6px;font-size:1rem}.legal-card p,.legal-card ul{margin:0 0 8px}.legal-card ul{padding-left:20px}.legal-links{display:flex;justify-content:center;gap:16px;margin:0}.auth-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.link{font:inherit;color:var(--accent);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.link:disabled{opacity:.5;cursor:not-allowed}.company-picker select{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px;max-width:16rem}.user-email{max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-view{display:grid;gap:16px}.company-page{display:grid;gap:16px;min-width:0}.company-page>*{min-width:0}.company-view>.tabs{justify-self:start;flex-wrap:wrap}.setup{padding:14px 16px;display:grid;gap:10px;border-color:var(--accent-line)}.setup-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px}.setup-steps li{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.setup-num{flex:none;width:1.6rem;height:1.6rem;border-radius:50%;display:grid;place-items:center;font-size:.85rem;font-weight:600;background:var(--accent-soft);color:var(--accent)}.setup-done .setup-num{background:var(--positive-soft);color:var(--positive)}.setup-text{flex:1 1 12rem;min-width:0}.banner-error{border-color:var(--negative-line)}.team{display:grid;gap:16px}.team h3{margin:0 0 8px;font-size:15px}.team-list{list-style:none;margin:0;padding:0}.team-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 0;border-top:1px solid var(--border)}.team-row:first-child{border-top:0}.team-who{flex:1 1 260px;min-width:0;overflow-wrap:anywhere}.team-invite{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px}@media (max-width: 560px){.team-invite{grid-template-columns:1fr}}.invites{margin-bottom:16px;padding:14px 16px;display:grid;gap:6px;border-color:var(--accent-line)}.team-card{padding:16px}.team .form{max-width:none}.company-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.company-wide{grid-column:1 / -1}@media (max-width: 560px){.company-grid{grid-template-columns:1fr}}.field input[readonly]{background:transparent;border-color:transparent;padding-left:0}.company-grid>.btn{grid-column:1 / -1;justify-self:start}.brand{font-size:inherit;font-weight:inherit}.logo{display:inline-flex;align-items:center;gap:12px}.mark{flex:none;display:block}.logo-text{display:flex;flex-direction:column;gap:2px}.wordmark{font-size:1.6rem;font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--text)}.wordmark-gra{color:var(--accent)}.motto{font-weight:400}:root{--series-income: #2a78d6;--series-expense: #eb6834;--chart-grid: #e9ebef;--chart-axis: #c9cdd4}@media (prefers-color-scheme: dark){:root{--series-income: #3987e5;--series-expense: #d95926;--chart-grid: #262a31;--chart-axis: #3a3f48}}.overview,.overview-body{display:grid;gap:16px}.overview-body>p,.company-page>p{margin:0}.overview-body.is-loading{opacity:.6;transition:opacity .15s}.overview-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.overview-head h2{margin:0}.field-inline{display:inline-flex;align-items:center;gap:8px}.field-inline select{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-height:var(--control-h);padding:0 8px}.overview h3{margin:0 0 10px;font-size:1rem}.overview-stats .stat{gap:2px}.empty-overview{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.empty-overview p{margin:0}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;align-items:start}.overview-grid .card{display:grid;gap:10px;align-content:start}.overview-grid .btn{justify-self:start}.progress{display:grid;gap:4px}.progress-label{display:flex;justify-content:space-between;gap:8px}.progress-label .num{white-space:nowrap}.meter{height:8px;border-radius:4px;background:var(--chart-grid);overflow:hidden}.meter-fill{height:100%;border-radius:4px;background:var(--accent)}.party-rank{list-style:none;margin:0;padding:0;display:grid}.party-rank li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--border)}.party-rank li:first-child{border-top:0;padding-top:0}.party-rank-name{min-width:0;overflow-wrap:anywhere}.party-rank .num{text-align:right;white-space:nowrap}.chart{margin:0;display:grid;gap:8px}.chart-head{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap}.chart-head figcaption{flex:1 1 auto}.chart-head h3{margin:0}.chart-legend{display:flex;gap:14px;flex-wrap:wrap}.legend-item{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.875rem}.swatch{width:10px;height:10px;border-radius:3px;flex:none}.swatch.series-income{background:var(--series-income)}.swatch.series-expense{background:var(--series-expense)}.chart-plot{position:relative}.chart-plot svg{display:block;width:100%;height:auto;overflow:visible}.chart-plot path.series-income{fill:var(--series-income)}.chart-plot path.series-expense{fill:var(--series-expense)}.chart-plot .dim path{opacity:.45}.chart-plot .grid{stroke:var(--chart-grid);stroke-width:1}.chart-plot .axis{stroke:var(--chart-axis);stroke-width:1}.chart-plot .tick{fill:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.chart-plot .band-hover{fill:var(--chart-grid);opacity:.6}.chart-plot .hit{fill:transparent;cursor:default;outline:none}.chart-tooltip{position:absolute;top:0;transform:translate(-50%);min-width:180px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:8px 10px;display:grid;gap:4px;font-size:.875rem;pointer-events:none;z-index:2}.tooltip-row{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px}.tooltip-total{border-top:1px solid var(--border);padding-top:4px;font-weight:600}.sync-bar{display:flex;align-items:center;justify-content:flex-end;gap:8px 12px;flex-wrap:wrap;margin:-8px 0 -4px}.sync-sources{display:inline-flex;gap:4px 12px;flex-wrap:wrap}.sync-running:before{content:"";display:inline-block;width:10px;height:10px;margin-right:6px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;vertical-align:-1px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.sync-running:before{animation:none}}a.tab{text-decoration:none;display:inline-block}.page>*,.company-view>*{min-width:0}.revolut-start{display:grid;gap:10px;justify-items:start}.revolut-start p{margin:0}.revolut-steps{margin:0;padding-left:1.25rem;display:grid;gap:12px}.revolut-steps li{padding-left:4px}.revolut-steps li::marker{color:var(--accent);font-weight:600}.revolut-steps li>*+*{margin-top:6px}.revolut-steps li>a,.revolut-steps li>button{display:inline-flex}.public-key{width:100%;font:.8rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:8px 10px;resize:none}.revolut-key{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;width:100%}.revolut-key .field{flex:1 1 260px}@media (pointer: coarse){:root{--control-h: 44px}.btn-small,.inline-select,.preset{min-height:40px}.tab{min-height:40px;display:inline-flex;align-items:center}.link{padding:10px 0;margin:-10px 0}}@media (max-width: 600px){.page{padding:16px 12px 40px;gap:12px}.header{flex-wrap:wrap;gap:10px;padding-top:12px}.header .logo .motto{display:none}.header>.header-actions{flex:1 1 100%;flex-wrap:nowrap}.company-picker{flex:1 1 auto;min-width:0}.company-picker select{width:100%;max-width:none;min-height:var(--control-h)}.user-email{display:none}.company-view>.tabs{justify-self:stretch;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}.company-view>.tabs::-webkit-scrollbar{display:none}.tab{flex:none;white-space:nowrap;scroll-snap-align:start}.sync-bar{justify-content:space-between}.toolbar-actions{margin-left:0;width:100%}.toolbar-actions .btn{flex:1 1 auto}}.bank-card-alert{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.bank-connection{display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--border)}.bank-connect-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 12px}.bank-connect-form .field{flex:1 1 220px;min-width:0}
