@import "https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap";:root{--paper:#f4f4ef;--tint:#eaeae2;--ink:#1a211c;--muted:#5b665e;--rule:#dfe0d8;--rule-strong:#c6c9be;--brand:#0b5e45;--brand-strong:#094a37;--brand-contrast:#f4f4ef;--ok:#2c7350;--warn:#8a6412;--info:#3d6684;--danger:#a83526;--ring:0 0 0 3px color-mix(in srgb, var(--brand) 22%, transparent);--shadow-float:0 8px 24px #141a1624;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.5rem;--sp-6:2rem;--sp-section:3.5rem;--r-control:5px;--r-block:4px;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-md:.875rem;--fs-lg:1rem;--fs-fig-1:2.25rem;--fs-fig-2:1.5rem;--fs-fig-3:1.25rem;--font-text:"DM Sans", system-ui, -apple-system, sans-serif;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root.dark{--paper:#131512;--tint:#1c1f1a;--ink:#e9e9e1;--muted:#979d90;--rule:#272a24;--rule-strong:#3a3f36;--brand:#a3c2a5;--brand-strong:#b9d3ba;--brand-contrast:#131512;--ok:#8fb894;--warn:#cdab6e;--info:#8ba9bf;--danger:#d18a7c;--shadow-float:0 8px 28px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-text);font-size:var(--fs-md);-webkit-font-smoothing:antialiased;margin:0;line-height:1.55;transition:background-color .2s,color .2s}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.02em;margin:0;font-size:2rem;font-weight:600;line-height:1.1}.muted{color:var(--muted)}::selection{background:color-mix(in srgb,var(--brand) 20%,transparent)}:where(a,button,input,select,textarea):focus-visible{box-shadow:var(--ring);border-radius:var(--r-control);outline:2px solid #0000}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}}.app-shell{grid-template-columns:236px 1fr;min-height:100vh;display:grid}.sidebar{height:100vh;padding:var(--sp-5) 0;border-right:1px solid var(--rule);flex-direction:column;display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4) var(--sp-6);font-weight:600;font-size:var(--fs-lg);letter-spacing:-.01em;display:flex}.brand,.brand-mark{font-family:var(--font-display)}.brand-mark{border-radius:var(--r-block);background:var(--brand);width:24px;height:24px;color:var(--brand-contrast);font-size:var(--fs-md);place-items:center;display:grid}.nav-label{padding:var(--sp-5) var(--sp-4) var(--sp-2);font-size:var(--fs-sm);color:var(--muted);margin:0}.nav-item{padding:var(--sp-2) var(--sp-4);color:var(--muted);transition:color .15s,box-shadow .15s;display:block}.nav-item:hover{color:var(--ink)}.nav-item.active{color:var(--ink);box-shadow:inset 2px 0 0 var(--brand);font-weight:600}.sidebar-footer{padding-top:var(--sp-3);border-top:1px solid var(--rule);margin-top:auto}.sidebar-me{padding:0 var(--sp-4) var(--sp-3);font-size:var(--fs-sm);color:var(--muted)}.sidebar-me strong{color:var(--ink);font-size:var(--fs-md);display:block}.sidebar-logout{align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-2) var(--sp-4);color:var(--muted);font-size:var(--fs-md);text-align:left;background:0 0;border:0;transition:color .15s,box-shadow .15s;display:flex}.sidebar-logout svg{flex:none}.sidebar-logout:hover{color:var(--ink);box-shadow:inset 2px 0 0 var(--rule-strong)}.content{width:100%;max-width:1120px;padding:var(--sp-6) var(--sp-6) var(--sp-section);margin:0 auto}.topbar{justify-content:space-between;align-items:flex-start;gap:var(--sp-5);margin-bottom:var(--sp-2);display:flex}.top-actions{align-items:center;gap:var(--sp-2);display:flex}.page-heading,p.page-heading{max-width:62ch;margin:0 0 var(--sp-5);color:var(--muted)}.page-heading p{margin:0}.section{margin-top:var(--sp-section)}.head{justify-content:space-between;align-items:baseline;gap:var(--sp-3);padding-bottom:var(--sp-3);border-bottom:1px solid var(--rule-strong);flex-wrap:wrap;display:flex}.head h2{margin:0}.head h2,.head-link{font-size:var(--fs-sm);font-weight:600}.head-link{color:var(--brand)}.head+.form-grid{margin-top:var(--sp-4)}.measure{max-width:640px}.avatar,.theme-toggle{border:1px solid var(--rule-strong);border-radius:var(--r-control);min-width:34px;height:34px;color:var(--ink);background:0 0;place-items:center;padding:0;transition:background-color .15s;display:grid}.avatar:hover,.theme-toggle:hover{background:var(--tint)}.avatar{font-size:var(--fs-sm);border-color:#0000;border-radius:50%}.avatar,.button{background:var(--brand);color:var(--brand-contrast);font-weight:600}.button{justify-content:center;align-items:center;gap:var(--sp-2);border-radius:var(--r-control);font-size:var(--fs-md);border:1px solid #0000;padding:.5625rem .875rem;transition:background-color .15s,border-color .15s,opacity .15s;display:inline-flex}.button:hover{background:var(--brand-strong)}.button:disabled{opacity:.5;cursor:default}.button.secondary{border-color:var(--rule-strong);color:var(--ink);background:0 0}.button.secondary:hover{background:var(--tint)}.button.inline{width:max-content}.tabs{gap:var(--sp-4);flex-wrap:wrap;display:flex}.tab{padding:0 0 var(--sp-2);color:var(--muted);font-size:var(--fs-sm);background:0 0;border:0;border-bottom:2px solid #0000;transition:color .15s,border-color .15s}.tab.active,.tab:hover{color:var(--ink)}.tab.active{border-bottom-color:var(--brand);font-weight:600}.form-grid{gap:var(--sp-4);max-width:460px;display:grid}.field label{margin-bottom:var(--sp-2);font-weight:600;font-size:var(--fs-sm);display:block}.field input,.field select{border:1px solid var(--rule-strong);border-radius:var(--r-control);background:0 0;outline:none;width:100%;padding:.625rem .75rem;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus{border-color:var(--brand);box-shadow:var(--ring)}.check{align-items:center;gap:var(--sp-3);display:flex}.check input{accent-color:var(--brand);width:16px;height:16px}.link-box{gap:var(--sp-2);padding:var(--sp-2);border:1px solid var(--rule-strong);border-radius:var(--r-control);transition:border-color .15s,box-shadow .15s;display:flex}.link-box:focus-within{border-color:var(--brand);box-shadow:var(--ring)}.link-box input{background:0 0;border:0;outline:none;flex:1;min-width:0;padding:.375rem}.error{margin-top:var(--sp-3);color:var(--danger)}.form-ok{color:var(--brand);margin:0;font-weight:600}.figures{margin-top:var(--sp-5);border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--rule-strong);grid-template-columns:1.5fr 1.1fr 1fr 1fr;display:grid}.figures.three{grid-template-columns:1.5fr 1fr 1fr}.figure{padding:var(--sp-4) var(--sp-5);border-left:1px solid var(--rule)}.figure:first-child{border-left:0;padding-left:0}.figure label{color:var(--muted);font-size:var(--fs-sm);display:block}.figure b{margin-top:var(--sp-1);font-size:var(--fs-fig-3);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:700;display:block}.figure.lead b{font-size:var(--fs-fig-1)}.figure.mid b{font-size:var(--fs-fig-2)}.figures.loading{opacity:.5}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums;width:100%}.data-table th{padding:var(--sp-3);border-bottom:1px solid var(--rule-strong);color:var(--muted);font-weight:600;font-size:var(--fs-xs)}.data-table td{padding:var(--sp-4) var(--sp-3);border-bottom:1px solid var(--rule)}.data-table td:first-child,.data-table th:first-child{padding-left:0}.data-table td:last-child,.data-table th:last-child{padding-right:0}.data-table td.num,.data-table th.num{text-align:right}.data-table tbody tr:hover td{background:var(--tint)}.head+.table-wrap{margin-top:var(--sp-3)}.head+.table-wrap .data-table th{border-bottom-color:var(--rule)}.state{align-items:center;gap:var(--sp-2);white-space:nowrap;display:inline-flex}.state:before{content:"";background:var(--muted);border-radius:2px;flex:none;width:7px;height:7px}.state.active:before,.state.approved:before{background:var(--ok)}.state.pending:before{background:var(--warn)}.state.payable:before{background:var(--info)}.state.paid:before{background:var(--muted)}.state.paid{color:var(--muted)}.state.reversed:before{background:var(--danger)}.state.reversed{color:var(--danger)}.data-list{gap:0 var(--sp-6);grid-template-columns:1fr 1fr;margin:0;display:grid}.data-list>div{padding:var(--sp-4) 0;border-bottom:1px solid var(--rule)}.data-list dt{color:var(--muted);font-size:var(--fs-sm)}.data-list dd{margin:var(--sp-1) 0 0;font-weight:600}.toast{right:var(--sp-5);bottom:var(--sp-5);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-control);background:var(--ink);color:var(--paper);box-shadow:var(--shadow-float);position:fixed}.chart-empty{padding:var(--sp-6) 0}.chart-wrap{margin-top:var(--sp-5);padding-bottom:20px;position:relative}.chart-svg{width:100%;height:230px;display:block;overflow:visible}.chart-grid-line{stroke:var(--rule);stroke-width:1px;vector-effect:non-scaling-stroke}.chart-area{fill:color-mix(in srgb,var(--brand) 16%,transparent)}.chart-line{fill:none;stroke:var(--brand);stroke-width:1.75px;stroke-linejoin:round}.chart-cursor,.chart-line{vector-effect:non-scaling-stroke}.chart-cursor{stroke:var(--muted);stroke-width:1px;stroke-dasharray:2 3}.chart-dot{fill:var(--brand);stroke:var(--paper);stroke-width:2px}.chart-axis-y{pointer-events:none;font-variant-numeric:tabular-nums;flex-direction:column;justify-content:space-between;display:flex;top:0;bottom:20px}.chart-axis-x,.chart-axis-y{font-size:var(--fs-xs);color:var(--muted);position:absolute;left:0}.chart-axis-x{height:14px;bottom:0;right:0}.chart-axis-x span{position:absolute;transform:translate(-50%)}.chart-axis-x span:first-child{transform:none}.chart-axis-x span:last-child{transform:translate(-100%)}.chart-tooltip{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-control);background:var(--ink);color:var(--paper);font-size:var(--fs-xs);white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-float);z-index:2;font-variant-numeric:tabular-nums;flex-direction:column;display:flex;position:absolute;top:-4px;transform:translate(-50%)}.chart-tooltip .muted{color:color-mix(in srgb,var(--paper) 65%,transparent)}.payable-band{justify-content:space-between;align-items:flex-end;gap:var(--sp-5);margin-top:var(--sp-section);padding:var(--sp-6);border-radius:var(--r-block);background:var(--brand);color:var(--brand-contrast);flex-wrap:wrap;display:flex}.payable-band .label{color:color-mix(in srgb,var(--brand-contrast) 76%,transparent);font-size:var(--fs-sm)}.payable-band .fig{margin-top:var(--sp-2);font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:3rem;font-weight:600;line-height:1;display:block}.button.outline{border-color:color-mix(in srgb,var(--brand-contrast) 40%,transparent);color:var(--brand-contrast);background:0 0}.button.outline:hover{background:color-mix(in srgb,var(--brand-contrast) 12%,transparent)}.split{gap:var(--sp-6);margin-top:var(--sp-section);grid-template-columns:1fr 1fr;display:grid}.conv-figure{margin-top:var(--sp-3);font-size:var(--fs-fig-2);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:700;display:block}.conv-note{margin:var(--sp-1) 0 0;font-size:var(--fs-sm)}.breakdown{margin:0;padding:0;list-style:none}.breakdown li{align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--rule);font-size:var(--fs-md);display:flex}.breakdown .count{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto}.breakdown .sum{text-align:right;font-variant-numeric:tabular-nums;min-width:6.5rem}.recent-list{margin:0;padding:0;list-style:none}.recent-row{gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--rule);grid-template-columns:5rem 1fr 8rem 9rem;align-items:center;display:grid}.recent-row .amount{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.recent-product{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.login{min-height:100vh;padding:var(--sp-5);place-items:center;display:grid}.login-card{width:min(100%,380px)}.login-card .brand{padding:0 0 var(--sp-6)}.login-card h1{margin-bottom:var(--sp-2)}.login-card form{margin-top:var(--sp-5);max-width:none}.login-card .button{width:100%;margin-top:var(--sp-2)}.login-help{margin-top:var(--sp-5);font-size:var(--fs-sm)}.login-help a{color:var(--brand);font-weight:600}.mobile-nav{display:none}@media (width<=900px){.figures,.figures.three{grid-template-columns:1fr 1fr}.figures>.figure:nth-last-child(n+3){border-bottom:1px solid var(--rule)}.figure:nth-child(odd){border-left:0;padding-left:0}.split{gap:var(--sp-section);grid-template-columns:1fr}}@media (width<=860px){.app-shell{display:block}.sidebar{display:none}.content{padding:var(--sp-5) var(--sp-4) 5.5rem}.recent-row{grid-template-columns:1fr auto;row-gap:2px}.recent-product{order:3;grid-column:1/-1}.recent-row .state{order:2}.mobile-nav{background:var(--paper);border-top:1px solid var(--rule);z-index:5;justify-content:space-around;align-items:stretch;height:58px;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav a{padding:0 var(--sp-2);font-size:var(--fs-xs);color:var(--muted);border-top:2px solid #0000;place-items:center;display:grid}.mobile-nav a.router-link-active{color:var(--ink);border-top-color:var(--brand);font-weight:600}}@media (width<=560px){.data-list{grid-template-columns:1fr}.payable-band .fig{font-size:2.5rem}}
