@font-face{font-family:Finansy Sans;src:url(/fonts/Inter-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Finansy Sans;src:url(/fonts/Inter-Medium.ttf) format("truetype");font-weight:500 600;font-display:swap}@font-face{font-family:Finansy Sans;src:url(/fonts/Inter-Bold.ttf) format("truetype");font-weight:700;font-display:swap}:root{--ground: #f2f4f7;--surface: #fff;--raised: #eef0f3;--active: #e5e8ec;--text: #0a0a0a;--muted: #62676f;--accent: #1d5fbf;--border: #e1e4e8;--rule: #edf0f3;--control: #c5cad1;--positive: #2e7d32;--negative: #b4232a;--warning: #92400e;--warning-bg: #fff8e9;--primary: #17191c;--radius: 8px;--gap: 12px;--font: "Finansy Sans", system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--text);font:400 14px/1.5 var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;color:var(--muted)}button:disabled:not(.icon-button){background:var(--raised);border-color:var(--control)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}h1,h2,h3,p,figure{margin:0}h1{font-size:26px;font-weight:500;line-height:1.2;letter-spacing:-.8px}h2{font-size:16px;font-weight:500;line-height:1.4}h3{font-weight:500}p{line-height:1.65}.num{font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:var(--surface);padding:12px 18px}.skip-link:focus{top:12px}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:9px 15px;border:1px solid var(--primary);border-radius:6px;color:var(--surface);background:var(--primary);font-size:13px;font-weight:500;line-height:1.4;white-space:nowrap}.button:hover{background:#303338}.button.secondary{background:var(--surface);color:var(--text);border-color:var(--control)}.button.secondary:hover{border-color:var(--text)}.button.danger{background:var(--negative);border-color:var(--negative)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 auto;background:transparent;color:var(--muted);padding:6px;border:1px solid transparent;border-radius:6px}.icon-button:hover{color:var(--text);border-color:var(--control)}.text-button{padding:5px 0;border:0;background:transparent;color:var(--text);text-align:left;text-underline-offset:3px}.text-button:hover{text-decoration:underline}.text-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500}.text-link:hover{text-decoration:underline;text-underline-offset:4px}.context-label{color:var(--muted);font-size:12px;font-weight:400;margin-bottom:9px}.app-shell{min-height:100dvh}.sidebar{position:fixed;z-index:20;inset:0 auto 0 0;width:232px;background:var(--ground);display:flex;flex-direction:column;padding:31px 16px 16px;border-right:1px solid var(--border)}.desktop-brand{margin:0 12px 36px}.workspace{display:flex;align-items:center;gap:10px;margin:0 8px 30px}.workspace-symbol,.avatar{display:inline-flex;align-items:center;justify-content:center;background:var(--active);width:32px;height:32px;border-radius:7px;flex:0 0 auto;font-weight:500;font-size:12px}.workspace strong,.account strong{display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere}.workspace div>span,.account div>span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.sidebar nav a{display:flex;align-items:center;gap:12px;height:40px;padding:0 12px;color:var(--muted);border-radius:6px;font-size:13px}.sidebar nav a.active{background:var(--active);color:var(--text)}.sidebar nav a:hover{color:var(--text)}.sidebar-bottom{margin-top:auto;padding-top:36px}.sidebar-note{padding:16px 12px 26px;font-size:12px}.sidebar-note p{font-weight:500;margin-bottom:5px}.sidebar-note span{color:var(--muted);line-height:1.6}.account{display:flex;align-items:center;gap:8px;border-top:1px solid var(--border);padding-top:16px}.account>div{flex:1;min-width:0}.avatar{border-radius:50%}.canvas{margin-left:232px;padding:38px 32px 28px;max-width:1880px;outline:none}.mobile-header{display:none}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 30px}.page-heading h1+p{color:var(--muted);margin-top:10px;font-size:13px}.date-stamp{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;white-space:nowrap}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px}.panel-heading>span,.panel-heading p{font-size:12px;color:var(--muted);margin-top:5px}.balance-section{padding:25px 0 28px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:26px}.balance-lead>span{font-size:13px;color:var(--muted)}.balance-lead>strong{display:block;font-size:36px;line-height:1.35;letter-spacing:-1.3px;font-weight:700;margin:5px 0 6px}.balance-lead p{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.status-dot{width:5px;height:5px;border-radius:50%;background:var(--muted)}.balance-components{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.balance-components div{padding-left:24px;border-left:1px solid var(--border)}.balance-components span{display:block;color:var(--muted);font-size:12px}.balance-components strong{display:block;font-size:20px;font-weight:500;margin-top:9px;letter-spacing:-.5px}.quick-register{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:24px 0}.quick-register>span{color:var(--muted);font-size:13px}.quick-register>div{display:flex;gap:8px}.overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:var(--gap);align-items:start}.overview-grid>app-flow{min-width:0}.overview-side{display:flex;flex-direction:column;gap:var(--gap)}.next-step{padding-bottom:20px}.next-step .panel-heading{padding-bottom:12px}.next-step .panel-heading app-icon{color:var(--muted)}.next-step h3{font-size:23px;line-height:1.35;letter-spacing:-.8px;padding:0 20px}.next-step>p{color:var(--muted);font-size:12px;margin:14px 20px 18px}.next-step>a{display:flex;margin:0 20px;font-size:12px}.origin-note{padding:20px}.origin-note>app-icon{color:var(--muted);margin-bottom:12px}.origin-note h2{font-size:14px}.origin-note p{color:var(--muted);font-size:12px;margin:8px 0 16px}.origin-note a{font-size:12px}.overview-close{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;padding:24px 0 0}.flow-panel .panel-heading{align-items:start}.period-control select{max-width:190px;font-size:12px;padding:7px}.series-tabs{display:flex;gap:20px;padding:0 20px;border-bottom:1px solid var(--rule);overflow-x:auto}.series-tabs button{font-size:12px;padding:0 0 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);white-space:nowrap}.series-tabs button.selected{color:var(--text);border-color:var(--text)}.chart-frame{padding:20px 16px 12px}.chart-frame svg{display:block;width:100%;overflow:visible}.chart-frame text{font-family:var(--font);font-size:11px;fill:var(--muted)}.gridline{stroke:var(--rule);stroke-width:1}.zero-line{stroke:var(--control);stroke-width:1}.data-line{stroke:var(--accent);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.flow-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:4px 20px 18px;color:var(--muted);font-size:11px}.flow-footer>span{display:inline-flex;align-items:center;gap:7px}.flow-footer a{color:var(--text);font-size:11px}.legend-line{width:20px;border-top:2px dashed var(--accent)}.flow-values{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);padding:14px 20px 20px;border-top:1px solid var(--rule)}.flow-values div{display:flex;flex-direction:column;gap:5px}.flow-values span{color:var(--muted);font-size:11px}.flow-values strong{font-size:12px;font-weight:400}.section-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px;color:var(--muted);font-size:12px}.section-toolbar a{color:var(--text)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:13px}th{text-align:left;font-weight:400;color:var(--muted);font-size:11px;padding:16px 20px 13px;white-space:nowrap}td{padding:15px 20px;border-top:1px solid var(--rule);vertical-align:middle}th.num,td.num{text-align:right}.identity-cell{min-width:180px}.identity-cell>a,.identity-button{font-weight:500;overflow-wrap:anywhere}.record-mark{display:inline-flex;margin-right:10px;color:var(--muted);vertical-align:middle}.cell-subline{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:4px}.amount-cell{font-weight:500;white-space:nowrap}.row-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}td.row-actions{display:table-cell;white-space:nowrap}.row-actions .icon-button{width:30px;height:30px}.pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--rule);padding:16px 20px;font-size:12px;color:var(--muted)}.pagination>div{display:flex;gap:8px}.pagination .button{font-size:12px;min-height:32px;padding:7px 12px}.page-note{display:flex;gap:8px;align-items:flex-start;color:var(--muted);font-size:12px;margin-top:20px;max-width:900px}.page-note app-icon{margin-top:1px;width:15px;height:15px}.state{padding:44px 24px;text-align:center;max-width:520px;margin:auto}.state>app-icon{width:25px;height:25px;color:var(--muted);margin-bottom:14px}.state h2{margin-bottom:9px}.state p{font-size:13px;color:var(--muted);margin-bottom:18px}.loading-state{display:flex;flex-direction:column;gap:12px;padding:32px 24px;min-height:160px;color:var(--muted);font-size:12px}.loading-line{display:block;height:24px;width:60%;background:var(--raised);border-radius:4px}.loading-line.short{width:35%;height:16px}.inline-error{display:flex;flex-wrap:wrap;gap:8px;padding:14px 16px;background:#fff0ee;color:#831c1e;border-radius:6px;font-size:13px;margin:16px 0}.notice{background:var(--warning-bg);color:var(--warning);padding:12px;font-size:12px;border-radius:4px;margin-top:16px}.filter-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin-bottom:20px}.filter-toolbar label{display:flex;flex-direction:column;gap:7px;font-size:12px}.filter-toolbar label>span{color:var(--muted)}input,select{border:1px solid var(--control);color:var(--text);background:var(--surface);border-radius:6px;min-height:38px;padding:8px 11px;max-width:100%}input::placeholder{color:var(--muted)}input[aria-invalid=true]{border-color:var(--negative)}.status{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:3px 7px;border-radius:4px;background:var(--raised);white-space:nowrap}.status.paid{color:#04250e;background:#e7f1e8}.status.overdue{color:#831c1e;background:#ffedea}.overdue-text{color:var(--negative)}.transaction-actions{min-width:150px}.transaction-actions .text-button{display:block;font-size:11px;margin-bottom:5px}.transaction-actions select{font-size:11px;min-height:30px;padding:3px 6px}.category-editor{max-width:720px;padding:24px;margin-bottom:20px}.category-editor h2{margin-bottom:20px}.category-list{max-width:900px}.category-rows{margin:0;padding:0 20px;list-style:none}.category-rows li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--rule)}.category-name{display:inline-flex;gap:12px;align-items:center;overflow-wrap:anywhere}.category-name app-icon{color:var(--muted)}.back-link{display:inline-flex;font-size:12px;color:var(--muted);margin-bottom:24px}.back-link:hover{text-decoration:underline}.editor-layout{display:grid;grid-template-columns:minmax(0,640px) minmax(240px,1fr);align-items:start;gap:var(--gap)}.record-form{padding:24px}.record-form>h2{margin-bottom:24px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.field label{font-weight:500;font-size:13px}.field>span,.field-link{color:var(--muted);font-size:11px}.field .field-error{color:var(--negative)}.field-link{text-decoration:underline;text-underline-offset:3px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:10px}.record-preview{padding:24px}.record-preview h2{font-size:19px;letter-spacing:-.5px;max-width:210px;margin-bottom:24px}dl{margin:0}.record-preview dl>div,.detail-fields>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12px;padding:12px 0;border-bottom:1px solid var(--rule)}dt{color:var(--muted)}dd{margin:0;text-align:right}.preview-note{display:flex;gap:8px;color:var(--muted);margin-top:20px;font-size:12px}.preview-note app-icon{flex-shrink:0;margin-top:3px}dialog{max-width:min(480px,calc(100vw - 32px));border:1px solid var(--border);border-radius:8px;padding:0;color:var(--text);background:var(--surface)}dialog::backdrop{background:#0000004d}.dialog-content{padding:28px}.dialog-content h2{font-size:22px;letter-spacing:-.6px;overflow-wrap:anywhere}.dialog-content h2+p{color:var(--muted);margin-top:16px;font-size:13px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}.detail-dialog{max-width:min(520px,calc(100vw - 32px));width:520px}.detail-dialog .panel-heading{padding:0 0 18px}.detail-dialog .detail-amount{font-size:28px;color:var(--text);margin:16px 0;font-weight:700}.detail-dialog .page-note{margin-bottom:22px}.toast{position:fixed;z-index:50;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:10px 12px 10px 18px;background:var(--surface);border:1px solid var(--control);border-radius:8px;box-shadow:0 4px 18px #00000014;width:max-content;max-width:calc(100vw - 32px);font-size:13px}@media(min-width:1700px){.canvas{padding-right:56px;padding-left:56px}}@media(max-width:1250px){.canvas{padding:32px 24px}.overview-grid{grid-template-columns:minmax(0,1fr) 260px}.balance-components{gap:16px}.balance-components div{padding-left:16px}.balance-components strong{font-size:17px}.balance-lead>strong{font-size:32px}td,th{padding-left:14px;padding-right:14px}}@media(max-width:1100px){.mobile-header{display:flex;justify-content:space-between;align-items:center;height:64px;padding:0 24px;border-bottom:1px solid var(--border);background:var(--ground)}.mobile-header app-brand{font-size:23px}.sidebar{display:none;top:64px;width:260px;padding-top:24px}.sidebar.is-open{display:flex}.desktop-brand{display:none}.canvas{margin-left:0;padding:30px 24px}.nav-backdrop{position:fixed;z-index:19;inset:64px 0 0;border:0;background:#0003}.overview-grid{grid-template-columns:minmax(0,1fr) 280px}}@media(max-width:760px){.overview-grid{grid-template-columns:minmax(0,1fr)}.overview-side{display:grid;grid-template-columns:1fr 1fr;align-items:start}.next-step h3{font-size:20px}.balance-section{flex-direction:column;align-items:stretch;gap:22px}.balance-components{gap:12px}.balance-components div:first-child{border-left:0;padding-left:0}.quick-register{flex-direction:column;align-items:flex-start;gap:12px}.quick-register>div{width:100%}.quick-register a{flex:1}.editor-layout{grid-template-columns:minmax(0,1fr)}.record-preview h2{max-width:none}}@media(max-width:640px){.canvas{padding:24px 16px}.mobile-header{padding:0 16px}.page-heading{align-items:flex-start;gap:12px;margin-bottom:24px}h1{font-size:24px}.page-heading .context-label{font-size:11px;margin-bottom:8px}.page-heading h1+p{font-size:12px}.date-stamp{display:none}.button{min-height:44px;font-size:12px;padding:10px 12px}.icon-button{min-width:44px;min-height:44px}.balance-lead>strong{font-size:36px}.balance-components{display:flex;flex-direction:column;gap:14px}.balance-components div{display:flex;align-items:center;justify-content:space-between;border:0;padding-left:0}.balance-components strong{margin:0;font-size:18px}.quick-register>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.quick-register .button{font-size:11px;padding:9px 7px;gap:5px}.quick-register app-icon{width:14px;height:14px}.panel-heading{padding:16px;align-items:center}.panel-heading p{font-size:11px}.period-control select{max-width:130px;min-height:44px;font-size:11px}.series-tabs{padding:0 16px;gap:18px}.series-tabs button{min-height:44px;padding-bottom:9px;font-size:11px}.chart-frame{padding:12px 10px}.flow-values{padding:14px 16px;grid-template-columns:repeat(2,1fr)}.flow-footer{padding:0 16px 16px}.flow-footer a{min-height:32px}.overview-side{grid-template-columns:minmax(0,1fr)}.next-step h3 br{display:none}.origin-note{padding:16px}.section-toolbar{align-items:flex-start;font-size:11px}.section-toolbar .text-link{font-size:11px}.record-table,.transaction-table{display:block}.record-table thead,.transaction-table thead{display:none}.record-table tbody,.transaction-table tbody{display:block}.record-table tr,.transaction-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:16px;border-top:1px solid var(--rule)}.record-table tr:first-child,.transaction-table tr:first-child{border-top:0}.record-table td,.transaction-table td{border:0;display:block;padding:0;min-width:0;font-size:12px}.record-table .identity-cell,.transaction-table .identity-cell{grid-column:1;grid-row:1;font-size:14px}.record-table .amount-cell,.transaction-table .amount-cell{grid-column:2;grid-row:1;font-size:13px}.record-table td[data-label],.transaction-table td[data-label]{grid-column:1;color:var(--muted);font-size:11px}.record-table td[data-label]:before,.transaction-table td[data-label]:before{content:attr(data-label) ": "}.record-table td:nth-child(4){display:block}.record-table .record-mark{display:none}.record-table .row-actions{grid-column:2;grid-row:2 / span 3;align-self:end;display:flex;gap:2px}.record-table .cell-subline,.transaction-table td[data-label] .cell-subline{display:inline;margin-left:4px}.transaction-table .transaction-actions{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:3px}.transaction-actions .text-button{font-size:12px;min-height:44px;margin:0}.transaction-actions select{min-height:44px;font-size:12px}.transaction-table .status{font-size:11px}.pagination{padding:14px 16px;flex-wrap:wrap;font-size:11px}.pagination .button{min-height:44px}.filter-toolbar{gap:8px}.filter-toolbar label{flex:1;min-width:120px}.filter-toolbar label span{font-size:11px}input,select{min-height:44px;font-size:14px}.category-editor,.record-form,.record-preview{padding:20px 16px}.category-rows{padding:0 16px}.category-rows .text-button{min-height:44px;font-size:12px}.form-grid{grid-template-columns:minmax(0,1fr);gap:0}.field label{font-size:14px}.field>span{font-size:12px}.dialog-content{padding:24px 20px}.dialog-content h2{font-size:20px}.dialog-actions .button{white-space:normal}.toast{bottom:16px;font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.heading-actions{display:flex;gap:10px;align-items:center}.create-menu{position:relative}.create-menu summary{list-style:none;cursor:pointer}.create-menu summary::-webkit-details-marker{display:none}.create-options{position:absolute;right:0;top:calc(100% + 8px);min-width:180px;z-index:15;background:var(--surface);border:1px solid var(--control);border-radius:6px;padding:6px}.create-options a{display:flex;gap:10px;align-items:center;padding:10px;border-radius:4px;font-size:13px}.create-options a:hover{background:var(--raised)}@media(max-width:640px){.heading-actions{flex-wrap:wrap;justify-content:flex-end}.heading-actions>.button.secondary{display:none}.create-options a{min-height:44px}}
