:root{--bg:#f6f5f3;--surface:#fff;--raise:#efeeeb;--line:#e2e0dc;--fg:#1b1b1d;--muted:#66645f;--faint:#a19f9a;--accent:#fe6b42;--co:#fe6b42;--good:#1f8f5a;--warn:#c98a12;--bad:#d23c3c;--paper:#fff;--paper-ink:#1b1b1d;--paper-muted:#6b6a68;--paper-line:#e6e4e0;--font-body:"Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-ff-theme=dark]{--bg:#121214;--surface:#1a1a1d;--raise:#232327;--line:#2e2e33;--fg:#ecebe8;--muted:#9a9894;--faint:#6c6a67;--good:#4cc38a;--warn:#e8b04a;--bad:#ff5d5d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.theme{border:1px solid var(--line);background:var(--raise);width:36px;height:36px;color:var(--fg);border-radius:10px;flex:none;place-items:center;display:grid}.theme svg{stroke:currentColor;fill:none;stroke-width:1.8px;width:18px;height:18px}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:15px;line-height:1.45}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:30;background:var(--surface);position:fixed;inset:0 0 auto}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--co);outline-offset:2px}.mono,.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num{white-space:nowrap}.topbar{top:env(safe-area-inset-top,0px);z-index:20;background:var(--surface);border-bottom:1px solid var(--line);padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));align-items:center;gap:12px;padding-block:10px;display:flex;position:sticky}.topbar:after{content:"";background:var(--co);height:2px;position:absolute;bottom:-1px;left:0;right:0}.brand{font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.brand .dot{background:var(--accent);border-radius:2px;width:10px;height:10px}.brand .ff{color:var(--muted);font-weight:400}.switch{background:var(--raise);border:1px solid var(--line);border-radius:10px;gap:2px;min-width:0;margin-left:auto;padding:3px;display:flex}.switch button{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:7px;align-items:center;gap:7px;padding:6px 10px;font-size:13px;font-weight:600;display:flex}.switch button .sw{border-radius:50%;width:8px;height:8px}.switch button[aria-pressed=true]{background:var(--surface);color:var(--fg);box-shadow:0 1px 2px #00000014}.switch .long{display:none}.shell{grid-template-columns:1fr;min-height:calc(100% - 56px);display:grid}nav.side{display:none}main{min-width:0;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));padding-block:20px calc(96px + env(safe-area-inset-bottom,0px));width:100%;max-width:1080px}.tabbar{z-index:20;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);grid-template-columns:repeat(7,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a,nav.side a{color:var(--muted);flex-direction:column;align-items:center;gap:3px;padding:9px 1px 8px;font-size:10.5px;font-weight:600;text-decoration:none;display:flex;position:relative}.tabbar a svg,nav.side a svg{stroke:currentColor;fill:none;stroke-width:1.7px;width:21px;height:21px}.tabbar a[aria-current=page],nav.side a[aria-current=page]{color:var(--fg)}.tabbar a[aria-current=page]:before{content:"";background:var(--co);border-radius:2px;height:2px;position:absolute;top:-1px;left:28%;right:28%}.badge-n{background:var(--co);color:#161616;min-width:17px;height:17px;font-size:10px;font-family:var(--font-mono);border-radius:9px;place-items:center;padding:0 4px;display:grid;position:absolute;top:4px;right:calc(50% - 20px)}@media (min-width:860px){.switch .long{display:inline}.switch .short{display:none}.shell{grid-template-columns:210px 1fr}nav.side{border-right:1px solid var(--line);top:calc(57px + env(safe-area-inset-top,0px));flex-direction:column;align-self:start;gap:2px;height:calc(100vh - 57px);padding:20px 12px;display:flex;position:sticky}nav.side a{border-radius:8px;flex-direction:row;justify-content:flex-start;gap:12px;padding:9px 12px;font-size:14px}nav.side a[aria-current=page]{background:var(--raise)}nav.side a[aria-current=page]:before{content:"";background:var(--co);border-radius:2px;width:2px;position:absolute;top:9px;bottom:9px;left:0}nav.side .badge-n{margin-left:auto;position:static}nav.side .side-foot{color:var(--faint);font-size:11.5px;font-family:var(--font-mono);margin-top:auto;padding:12px}.tabbar{display:none}main{padding-block:28px 48px;padding-left:36px;padding-right:max(36px, env(safe-area-inset-right,0px))}}.eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11.5px}h1{letter-spacing:-.01em;text-wrap:balance;margin:4px 0 0;font-size:26px;font-weight:700;line-height:1.15}h2{margin:0;font-size:16px;font-weight:600}.sub{color:var(--muted);max-width:62ch;margin:6px 0 0}.page-head{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:20px;display:flex}.page-head .grow{flex:260px;min-width:0}.example{font-family:var(--font-mono);color:var(--warn);border:1px dashed color-mix(in srgb, var(--warn) 55%, transparent);border-radius:6px;align-items:center;gap:6px;padding:3px 8px;font-size:11px;display:inline-flex}.btn{border:1px solid var(--line);background:var(--raise);border-radius:9px;align-items:center;gap:8px;padding:8px 14px;font-size:14px;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--faint)}.btn.primary{background:var(--co);border-color:var(--co);color:#141414}.btn.ghost{background:0 0}.btn.small{border-radius:8px;padding:5px 10px;font-size:13px}.btn[disabled]{opacity:.45;cursor:not-allowed}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:0;padding:16px}.panel h2{margin-bottom:10px}.stat .label{color:var(--muted);font-size:13px}.stat .value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-top:4px;font-size:24px;font-weight:500}.stat .meta{color:var(--muted);margin-top:6px;font-size:12.5px}.stat a{color:inherit}.section{margin-top:26px}.section-head{align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.section-head .grow{flex:1}.pill{white-space:nowrap;border:1px solid #0000;border-radius:99px;align-items:center;gap:5px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.pill.paid{color:var(--good);background:color-mix(in srgb, var(--good) 13%, transparent)}.pill.sent{color:var(--muted);background:var(--raise)}.pill.draft{color:var(--faint);border-color:var(--line)}.pill.overdue{color:var(--bad);background:color-mix(in srgb, var(--bad) 13%, transparent)}.pill.co{color:var(--co);background:color-mix(in srgb, var(--co) 14%, transparent)}.rows{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.row{border-top:1px solid var(--line);text-align:left;background:0 0;border-bottom:0;border-left:0;border-right:0;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;width:100%;padding:12px 16px;display:grid}.row:first-child{border-top:0}button.row:hover{background:var(--raise)}.row .t{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.row .s{color:var(--muted);min-width:0;font-size:13px}.row .r{text-align:right}.feed{gap:12px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:12px;padding:14px 16px;transition:opacity .25s,transform .25s;display:grid}.card.leaving{opacity:0;transform:translate(24px)}.card-top{grid-template-columns:1fr auto;gap:2px 12px;display:grid}.card-top .payee{overflow-wrap:anywhere;min-width:0;font-size:16px;font-weight:600}.card-top .amt{font-family:var(--font-mono);text-align:right;font-size:17px;font-weight:500}.amt.in{color:var(--good)}.card-top .meta{color:var(--muted);font-size:13px;font-family:var(--font-mono)}.suggest{background:var(--raise);border-radius:9px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.suggest .kind{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.07em;color:var(--co);font-size:11px}.suggest .what{flex:180px;min-width:0}.suggest .what small{color:var(--muted);font-size:12.5px;display:block}.card-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.code-form{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}label.f{color:var(--muted);gap:4px;min-width:0;font-size:12.5px;display:grid}.f select,.f input{background:var(--bg);border:1px solid var(--line);color:var(--fg);border-radius:8px;width:100%;min-width:0;padding:8px 10px}.check{color:var(--muted);align-items:center;gap:8px;font-size:13.5px;display:flex}.receipt{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.receipt input{opacity:0;width:1px;height:1px;position:absolute}.receipt label{cursor:pointer;text-underline-offset:3px;text-decoration:underline}.receipt.has{color:var(--good)}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px;padding:40px 16px}.empty b{color:var(--fg);margin-bottom:4px;font-size:17px;display:block}.tbl-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 10px;font-size:12.5px;font-weight:600}td{border-bottom:1px solid var(--line);vertical-align:top;padding:9px 10px}td.n,th.n{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}tr.total td{border-bottom:0;font-weight:600}.boxes{background:var(--line);border:1px solid var(--line);border-radius:12px;gap:1px;display:grid;overflow:hidden}.box{background:var(--surface);grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.box .bn{font-family:var(--font-mono);color:var(--muted);border:1px solid var(--line);text-align:center;border-radius:6px;padding:3px 0;font-size:12px}.box .bd{min-width:0;font-size:14px}.box .bv{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.box.key{background:color-mix(in srgb, var(--co) 9%, var(--surface))}.box.key .bv{font-size:17px;font-weight:600}.note{color:var(--muted);max-width:70ch;margin-top:10px;font-size:13px}.warnbar{background:color-mix(in srgb, var(--warn) 12%, transparent);color:var(--fg);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;font-size:14px;display:flex}.warnbar b{color:var(--warn)}.ageing{grid-template-columns:repeat(5,1fr);gap:6px;margin-top:10px;display:grid}.ageing div{background:var(--raise);border-radius:8px;min-width:0;padding:8px 10px}.ageing .k{color:var(--muted);font-size:11.5px;font-family:var(--font-mono)}.ageing .v{font-family:var(--font-mono);overflow-wrap:anywhere;margin-top:2px;font-size:13.5px}.ageing .hot .v{color:var(--bad)}@media (max-width:520px){.ageing{grid-template-columns:repeat(3,1fr)}}.overlay{z-index:40;background:#0000008c;place-items:end center;display:grid;position:fixed;inset:0}.sheet{background:var(--bg);border:1px solid var(--line);width:100%;max-width:820px;max-height:92%;padding:16px max(16px, env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));border-radius:16px 16px 0 0;overflow:auto}@media (min-width:860px){.overlay{align-items:center}.sheet{border-radius:16px;max-height:88%;padding:22px}}.sheet-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.sheet-head .grow{flex:200px;min-width:0}.paper{background:var(--paper);color:var(--paper-ink);box-shadow:0 1px 0 var(--paper-line), 0 12px 32px -12px #00000059;border-radius:6px;min-width:0;padding:28px 26px 30px;font-size:13.5px}.paper .phead{border-bottom:3px solid var(--co);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:18px;display:flex}.paper .logo{align-items:center;gap:10px;display:flex}.paper .mark{background:var(--co);width:34px;height:34px;font-family:var(--font-mono);color:#141414;border-radius:6px;place-items:center;font-size:12px;font-weight:600;display:grid}.paper .plogo{width:min(320px,100%);height:auto;display:block}.hero-logo{width:min(520px,100%);height:auto;margin-bottom:10px;display:block}.hero-top>div:first-child{flex:auto;min-width:0}.paper .coname{letter-spacing:-.01em;font-size:18px;font-weight:700}.paper .doc-kind{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--paper-muted);text-align:right;font-size:12px}.paper .doc-no{font-family:var(--font-mono);text-align:right;font-size:20px;font-weight:600}.paper .meta-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:18px 0 20px;display:grid}.paper .meta-grid .k{text-transform:uppercase;letter-spacing:.08em;color:var(--paper-muted);font-size:11px;font-family:var(--font-mono)}.paper table th{color:var(--paper-muted);border-bottom-color:var(--paper-line)}.paper table td{border-bottom-color:var(--paper-line)}.paper .totals{max-width:300px;margin-top:10px;margin-left:auto}.paper .totals div{font-family:var(--font-mono);justify-content:space-between;padding:4px 0;display:flex}.paper .totals .grand{border-top:2px solid var(--paper-ink);margin-top:6px;padding-top:8px;font-size:16px;font-weight:600}.paper .pfoot{border-top:1px solid var(--paper-line);color:var(--paper-muted);gap:4px;margin-top:26px;padding-top:14px;font-size:12px;display:grid}.paper .stamp{font-family:var(--font-mono);letter-spacing:.1em;border:2px solid;border-radius:4px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-block;transform:rotate(-3deg)}.paper .stamp.overdue{color:#c83434}.paper .stamp.paid{color:#1f8f5a}.paper .ageing div{background:#f3f2ef}.paper .ageing .k{color:var(--paper-muted)}.paper .ageing .hot .v{color:#c83434}.lines{gap:10px;display:grid}.line{grid-template-columns:1fr 70px 110px 120px;align-items:end;gap:8px;display:grid}@media (max-width:600px){.line{grid-template-columns:1fr 1fr}.line .desc{grid-column:1/-1}}.form-total{font-family:var(--font-mono);flex-wrap:wrap;justify-content:flex-end;gap:22px;margin-top:12px;font-size:14px;display:flex}.form-total b{font-size:17px}.toast{left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:60;background:var(--fg);color:var(--bg);border-radius:10px;max-width:calc(100% - 32px);padding:10px 16px;font-size:14px;font-weight:500;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #0000004d}@media (min-width:860px){.toast{bottom:28px}}.autobox{background:color-mix(in srgb, var(--good) 8%, var(--surface));border:1px solid color-mix(in srgb, var(--good) 30%, var(--line));border-radius:12px;gap:8px;margin-bottom:14px;padding:12px 16px;display:grid}.autohead{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.autohead .s{color:var(--muted);flex-basis:100%;font-size:13px}.tick{background:var(--good);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:13px;display:grid}.autorow{border-top:1px solid color-mix(in srgb, var(--good) 20%, var(--line));grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding-top:8px;font-size:14px;display:grid}.autorow .t{min-width:0;font-weight:600}.autorow .s{color:var(--muted);font-weight:400}p.check{margin:0}.accts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (max-width:560px){.accts{grid-template-columns:1fr}}.acct{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:8px;min-width:0;padding:16px;display:grid;position:relative;overflow:hidden}.acct:before{content:"";background:var(--ac);height:4px;position:absolute;inset:0 0 auto}.acct.on{border-color:var(--ac);box-shadow:0 0 0 1px var(--ac)}.acct-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.acct-name{font-weight:700}.acct-bank{color:var(--muted);font-size:11px}.acct-bal{font-family:var(--font-mono);letter-spacing:-.02em;font-size:clamp(26px,7vw,34px);font-weight:500}.spark-sm{width:100%;height:72px;display:block}.acct-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:11.5px;display:flex}.combined{background:var(--surface);border:1px solid var(--line);border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:8px 12px;margin-top:12px;padding:12px 16px;display:grid}.combined span{color:var(--muted);font-size:13px;font-weight:600}.combined .stack{grid-column:1/-1}.chips{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:99px;padding:6px 12px;font-size:13px;font-weight:600}.chip[aria-pressed=true]{background:var(--fg);color:var(--surface);border-color:var(--fg)}a.pill{text-decoration:none}.paper .qlogo{width:100%;height:auto;margin:4px 0 28px;display:block}.qpaper .coname{color:var(--co);margin-bottom:24px;font-size:34px;font-weight:800}.qmeta{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 32px;margin-bottom:26px;font-size:13px;display:grid}.qmeta>div{grid-template-columns:96px 1fr;gap:4px 12px;display:grid}.qmeta span{color:var(--paper-muted)}.qmeta b,.qmeta i{overflow-wrap:anywhere;font-style:normal}.qpaper p{margin:0 0 12px}.qpaper h4{margin:22px 0 8px;font-size:13.5px}.qpaper ul{gap:3px;margin:0;padding-left:20px;display:grid}.qtable{min-width:520px;margin-top:26px}.qtable td{border-bottom:0;padding:10px 8px}.qtable .qsec td{color:#fff;background:#939393;padding:16px 8px}.qtable .qhead td{background:#d6d6d6;font-weight:600}.qtable .qtotal td{font-weight:600}.qvat{color:var(--paper-muted);font-size:12px;margin-top:10px!important}#gear{text-decoration:none}#gear[aria-current=page]{border-color:var(--co)}.rc-grid{grid-template-columns:auto 1.1fr 2fr .8fr .8fr .8fr auto;align-items:center;gap:8px;margin-top:8px;display:grid}.rc-grid input{background:var(--bg);border:1px solid var(--line);width:100%;min-width:0;color:var(--fg);border-radius:8px;padding:8px 10px}.rc-grid input[inputmode]{font-family:var(--font-mono);text-align:right}.rc-labels{color:var(--muted);margin-top:0;font-size:12px;font-weight:600}@media (max-width:720px){.rc-labels{display:none}.rc-grid{border-top:1px solid var(--line);grid-template-columns:1fr 1fr 1fr;padding-top:10px}.rc-grid input:first-of-type,.rc-grid input:nth-of-type(2){grid-column:1/-1}.rc-grid .mv,.ac-grid .mv{grid-column:1/-1;justify-self:end}.grip{display:none}}.slist{color:var(--muted);gap:2px;margin:6px 0 12px;padding-left:20px;font-size:13.5px;display:grid}.ac-grid{grid-template-columns:auto 76px 2fr 1.2fr 1.2fr auto;align-items:center;gap:8px;margin-top:8px;display:grid}.ac-grid.ac-personal{grid-template-columns:auto 2fr 1.2fr auto}.mv{align-items:center;gap:2px;display:inline-flex}.grip{cursor:grab;color:var(--faint);-webkit-user-select:none;user-select:none;padding:0 4px;font-size:16px}.mvb{border:1px solid var(--line);background:var(--surface);width:28px;height:30px;color:var(--muted);border-radius:7px;font-size:14px;line-height:1}.mvb:hover:not([disabled]){color:var(--fg);border-color:var(--faint)}.mvb[disabled]{opacity:.3;cursor:default}.dragging{opacity:.45}.drop-over{box-shadow:0 -2px 0 var(--co)}.ac-grid input,.ac-grid select{background:var(--bg);border:1px solid var(--line);width:100%;min-width:0;color:var(--fg);border-radius:8px;padding:8px 10px}.inuse{color:var(--faint);white-space:nowrap;padding:0 10px;font-size:12px}.ac-code{font-family:var(--font-mono)}@media (max-width:600px){.ac-grid{grid-template-columns:76px 1fr}.ac-grid select{grid-column:span 1}.ac-grid .mv{grid-column:1/-1;justify-self:end}.ac-grid.ac-personal{grid-template-columns:1fr auto}}.savestate{font-size:12.5px;font-family:var(--font-mono);color:var(--muted)}.savestate[data-s=saved]{color:var(--good)}.savestate[data-s=error],.savestate[data-s=off]{color:var(--warn)}.ratecard{background:var(--raise);border-radius:12px;gap:10px;margin-bottom:14px;padding:12px;display:grid}.rc-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:14px;display:flex}.rc-pick{flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.acctlist{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-top:12px}.acctrow{border-top:1px solid var(--line);grid-template-columns:12px 1fr auto auto;align-items:center;gap:12px;padding:12px 16px;display:grid}.acctrow:first-child{border-top:0}.acctrow b{border-radius:3px;width:12px;height:12px}.acctrow .t{font-weight:600}.acctrow .s{color:var(--muted);font-size:12.5px}.acctrow.add{color:var(--muted);font-size:12.5px;display:block}.per{color:var(--muted);margin-left:2px;font-size:14px}.big-stack{border-radius:8px;height:22px}.catlist{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 20px;margin-top:14px;font-size:14px;display:grid}.catlist div{grid-template-columns:12px 1fr auto;align-items:center;gap:10px;min-width:0;display:grid}.catlist b{border-radius:3px;width:12px;height:12px}.hero{margin-bottom:18px}.hero-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.big{font-family:var(--font-mono);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:8px;font-size:clamp(40px,11vw,76px);font-weight:500;line-height:1}.spark{width:100%;height:110px;margin-top:18px;display:block}.hero-foot{color:var(--faint);justify-content:space-between;margin-top:4px;font-size:11px;display:flex}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (min-width:860px){.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.tile{color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:10px;min-width:0;padding:16px;text-decoration:none;transition:border-color .15s;display:flex}.tile:hover{border-color:var(--co)}.tl{color:var(--muted);font-size:13px;font-weight:600}.tv{font-family:var(--font-mono);letter-spacing:-.02em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:clamp(24px,6.5vw,34px);font-weight:500;line-height:1.05}.tf{color:var(--muted);margin-top:auto;font-size:12px}.dots{flex-wrap:wrap;gap:6px;display:flex}.dots i{background:var(--co);border-radius:4px;width:14px;height:14px}.dots i.done{background:var(--line)}.stack{background:var(--raise);border-radius:6px;gap:2px;height:12px;display:flex;overflow:hidden}.stack i{height:100%;display:block}.legend{color:var(--muted);flex-wrap:wrap;gap:4px 10px;margin-top:auto;font-size:11px;display:flex}.legend b{vertical-align:0;border-radius:2px;width:8px;height:8px;margin-right:5px;display:inline-block}.track{background:var(--raise);border-radius:6px;height:12px;position:relative}.track i{background:var(--co);opacity:.85;border-radius:6px;position:absolute;inset:0 auto 0 0}.track span{background:var(--fg);border-radius:1px;width:2px;position:absolute;top:-4px;bottom:-4px;transform:translate(-1px)}.next{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-items:center;gap:14px;margin-top:12px;padding:12px 16px;display:flex}.next .t{font-weight:600}.next .s{color:var(--muted);font-size:13px}.cal{border:1px solid var(--line);text-align:center;border-radius:9px;flex:none;width:48px;overflow:hidden}.cal span{background:var(--co);color:#141414;font-family:var(--font-mono);text-transform:uppercase;padding:2px 0;font-size:10.5px;font-weight:600;display:block}.cal b{font-family:var(--font-mono);padding:3px 0 4px;font-size:19px;display:block}@media (prefers-reduced-motion:reduce){.card,.tile{transition:none}}code{font-family:var(--font-mono);background:var(--raise);border-radius:5px;padding:1px 5px;font-size:.92em}.auth-wrap{min-height:100%;padding-block:40px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));place-items:center;display:grid}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;gap:10px;width:100%;max-width:420px;padding:28px 24px;display:grid;position:relative;overflow:hidden}.auth-card:before{content:"";background:var(--accent);height:3px;position:absolute;inset:0 0 auto}.auth-card h1{font-size:24px}.auth-form{gap:12px;margin-top:8px;display:grid}.auth-form input,.wording textarea{background:var(--bg);border:1px solid var(--line);color:var(--fg);width:100%;font:inherit;border-radius:9px;padding:10px 12px}.code-input{font-family:var(--font-mono);letter-spacing:.3em;text-align:center;font-size:22px!important}.auth-err{color:var(--bad);margin:0;font-size:14px}.qr{background:#fff;border-radius:10px;justify-self:center;width:200px;height:200px;margin-top:6px;padding:8px}.secret{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:12.5px}.muted-big{color:var(--faint)}.spark-empty{border:1px dashed var(--line);text-align:center;color:var(--muted);border-radius:12px;margin-top:18px;padding:26px 16px;font-size:14px}.tile-wait .tv{color:var(--faint)}.wording{gap:14px;display:grid}.wording textarea{resize:vertical;line-height:1.5}#root{min-height:100%}.xero-counts{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 18px;margin:4px 0 8px;font-size:14px;display:grid}.xero-counts div{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:5px 0;display:flex}.xero-counts span{color:var(--muted)}.rebuild{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.rebuild h3{margin:0 0 4px;font-size:15px}.checks{gap:8px;margin:8px 0;display:grid}.check-row{border-radius:10px;grid-template-columns:24px 1fr;align-items:start;gap:10px;min-width:0;padding:10px 12px;font-size:14px;display:grid}.check-row.ok{background:color-mix(in srgb, var(--good) 10%, transparent)}.check-row.bad{background:color-mix(in srgb, var(--warn) 12%, transparent)}.check-row .mark{color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:grid}.check-row.ok .mark{background:var(--good)}.check-row.bad .mark{background:var(--warn)}.check-row table{margin-top:8px}td.grp{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);border-bottom:0;padding-top:14px;font-size:12px}.search{background:var(--bg);border:1px solid var(--line);width:100%;color:var(--fg);font:inherit;border-radius:9px;padding:9px 12px}.entry-lines{background:var(--raise);border-top:1px solid var(--line);padding:4px 12px 8px}.entry-lines td{font-size:13.5px}.bank-split{color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin-top:10px;font-size:13px;display:flex}.bank-split b{color:var(--fg);margin-left:4px}.row .r .pill{justify-self:end}.copy-toggle{color:var(--muted);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.month-head{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 6px 2px;font-size:12px}.bank-row .s{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.bank-row .coded{color:var(--fg);background:var(--raise);border-radius:6px;padding:1px 7px;font-size:12.5px}.rec{color:var(--faint);white-space:nowrap;font-size:12px;font-weight:600}.rec.ok{color:var(--good)}@media print{@page{margin:14mm}body *{visibility:hidden}.print-paper,.print-paper *{visibility:visible}.print-paper{border-radius:0;padding:0;font-size:11pt;position:absolute;inset:0 0 auto;box-shadow:none!important}.overlay,.sheet{background:0 0!important;border:0!important;max-height:none!important;padding:0!important;position:static!important;overflow:visible!important}.no-print{display:none!important}*{-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;print-color-adjust:exact}}.cutover{letter-spacing:.02em;color:var(--co);background:color-mix(in srgb, var(--co) 9%, transparent);border-top:2px solid var(--co);border-bottom:1px dashed color-mix(in srgb, var(--co) 45%, transparent);flex-wrap:wrap;justify-content:space-between;gap:10px;padding:7px 16px;font-size:12px;font-weight:700;display:flex}.cutover span:last-child{color:var(--muted)}.src{letter-spacing:.04em;text-transform:uppercase;border-radius:5px;padding:1px 6px;font-size:11px;font-weight:700}.src.imp{color:var(--faint);border:1px solid var(--line)}.src.live{color:var(--co);background:color-mix(in srgb, var(--co) 13%, transparent)}.src.pend{color:var(--warn);background:color-mix(in srgb, var(--warn) 13%, transparent)}.rec-list{gap:12px;display:grid}.rec-card{padding:16px}.rec-top{align-items:flex-start;gap:12px;display:flex}.rec-payee{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;overflow:hidden}.rec-top .s{color:var(--muted);font-size:13px}.rec-amt{white-space:nowrap;font-size:20px;font-weight:700}.rec-tabs{margin:12px 0 10px}.rec-suggest{background:color-mix(in srgb, var(--co) 8%, transparent);border:1px solid color-mix(in srgb, var(--co) 30%, transparent);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;display:flex}.rec-suggest .grow{flex:200px;min-width:0}.rec-suggest .s{color:var(--muted);font-size:12.5px}.rec-form{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end;gap:10px;display:grid}.rec-form>.rows,.rec-form>.card-actions,.rec-form>.check,.rec-form>.note,.rec-form>.rec-split{grid-column:1/-1}.rec-split{color:var(--muted);font-family:var(--font-mono);font-size:12.5px}.rec-inv{cursor:pointer}.rec-inv input{margin-right:6px}.linkish{color:var(--co);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.vat-boxes{border:1px solid var(--line);background:var(--surface);border-radius:12px;display:grid;overflow:hidden}.vat-box{border-top:1px solid var(--line);grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:10px 14px;display:grid}.vat-box:first-child{border-top:0}.vb-n{width:26px;height:26px;font-family:var(--font-mono);background:var(--raise);border-radius:6px;place-items:center;font-size:12.5px;font-weight:700;display:grid}.vb-t{color:var(--muted);font-size:14px}.vb-v{font-family:var(--font-mono);text-align:right;font-size:15px}.vat-box.sum .vb-t{color:var(--fg);font-weight:600}.vat-box.key{background:color-mix(in srgb, var(--co) 9%, transparent)}.vat-box.key .vb-n{background:var(--co);color:#141414}.vat-box.key .vb-v{font-size:18px;font-weight:700}button.tile{font:inherit;color:inherit;cursor:pointer}.pill.warn{color:var(--warn);background:color-mix(in srgb, var(--warn) 14%, transparent)}.sheet.quote-sheet{max-width:1000px}.quote-actions{margin-bottom:12px}.quote-edit{gap:12px;display:grid}.quote-edit .panel h2{margin-top:0}.q-sec{border:1px solid var(--line);background:var(--bg);border-radius:10px;margin-bottom:10px;padding:10px}.q-sec-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.q-sec-name{min-width:0;color:var(--fg);background:0 0;border:1px solid #0000;border-radius:8px;flex:auto;padding:6px 8px;font-size:15px;font-weight:700}.q-sec-name:hover,.q-sec-name:focus{border-color:var(--line);background:var(--surface)}.q-line{grid-template-columns:minmax(90px,1fr) minmax(160px,2.4fr) 96px 58px 96px 96px auto auto;align-items:center;gap:6px;margin-bottom:6px;display:grid}.q-line input,.q-line select,.quote-edit select.btn{background:var(--surface);border:1px solid var(--line);width:100%;min-width:0;color:var(--fg);border-radius:8px;padding:7px 8px}.quote-edit select.btn{width:auto}.q-line .q-amt{text-align:right;font-family:var(--font-mono);font-size:13px}.q-line.q-note{grid-template-columns:1fr auto auto}.q-line.q-note input{font-style:italic}.q-block{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}@media (max-width:760px){.q-line{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:1fr 1fr;padding:8px}.q-line>input:nth-child(2){order:-1;grid-column:1/-1}.q-line .q-amt{justify-self:end}}.qpaper .qmeta i{font-style:normal}@media print{.qtable{min-width:0}}.tabbar{scrollbar-width:none;overflow-x:auto}.tabbar::-webkit-scrollbar{display:none}.archived-split{color:var(--faint);font-size:12.5px}.archived-split b{color:var(--faint)}.chip-sep{letter-spacing:.06em;text-transform:uppercase;color:var(--faint);align-self:center;margin-left:6px;font-size:11px;font-weight:700}.chip.chip-archived{opacity:.55;border-style:dashed}.chip.chip-archived[aria-pressed=true]{opacity:1}.row.row-archived .t,.row.row-archived .num{color:var(--faint)}.div-docs{gap:18px;display:grid}.div-paper h3.div-h{letter-spacing:.02em;margin:0 0 4px;font-size:20px}.div-paper .div-sub{color:var(--paper-muted);margin:0 0 18px;font-size:12px}.div-paper h4{margin:18px 0 8px;font-size:14px}.div-paper p,.div-paper li{line-height:1.55}.div-paper ol{gap:8px;padding-left:20px;display:grid}.div-table td{vertical-align:top;padding:8px 6px}.div-table td:first-child{color:var(--paper-muted);width:34%}.div-table .div-amt td{border-top:2px solid var(--paper-ink);font-size:16px;font-weight:700}.div-sign{gap:6px;max-width:320px;margin-top:34px;font-size:13px;display:grid}.div-sign .line{border-bottom:1px solid var(--paper-ink);height:36px}@media print{.div-paper{break-after:page}.div-paper:last-child{break-after:auto}}.qp{margin:30px 0 8px}.qp-sec{margin-bottom:26px}.qp-head{border-bottom:3px solid var(--co);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:7px;display:flex}.qp-head h3{letter-spacing:-.01em;color:var(--paper-ink);align-items:baseline;gap:10px;margin:0;font-size:17px;font-weight:800;display:flex}.qp-idx{font-family:var(--font-mono);color:var(--co);letter-spacing:.06em;font-size:11px;font-weight:700}.qp-sub{font-family:var(--font-mono);color:var(--co);white-space:nowrap;font-size:15px;font-weight:700}.qp-cols,.qp-group{grid-template-columns:118px 1fr;display:grid}.qp-cols{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--paper-muted);grid-template-columns:118px 1fr 84px 92px 104px;padding:9px 0 5px;font-size:9.5px}.qp-group{border-top:1px solid var(--paper-line);padding:7px 0}.qp-cols+.qp-group{border-top:0}.qp-svc{color:var(--co);padding:3px 10px 0 0;font-size:12.5px;font-weight:700}.qp-line{grid-template-columns:1fr 84px 92px 104px;align-items:baseline;padding:3px 0;font-size:13px;display:grid}.qp .n{text-align:right;font-family:var(--font-mono);white-space:nowrap;font-size:12px}.qp .n.q{color:var(--paper-muted);font-family:inherit;font-size:12.5px}.qp .n.a{color:var(--paper-ink);font-weight:600}.qp-note{color:var(--paper-muted);border-left:3px solid var(--co);margin:4px 0 4px 118px;padding:6px 0 6px 12px;font-size:12.5px;font-style:italic}.qp-summary{gap:5px;padding:4px 0 10px;font-size:13px;display:grid}.qp-summary>div{justify-content:space-between;gap:12px;display:flex}.qp-summary>div>span:first-child{align-items:baseline;gap:10px;display:flex}.qp-summary>div>span:last-child{font-family:var(--font-mono);font-size:12.5px}.qp-total{background:var(--co);color:#141414;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;margin-top:6px;padding:14px 18px;display:flex}.qp-total span{text-transform:uppercase;letter-spacing:.1em;font-size:13px;font-weight:800}.qp-total small{letter-spacing:.04em;text-transform:none;opacity:.75;font-size:12px;font-weight:600}.qp-total b{font-family:var(--font-mono);white-space:nowrap;font-size:22px;font-weight:800}@media (max-width:640px){.qp-cols{display:none}.qp-group{grid-template-columns:1fr}.qp-line{grid-template-columns:1fr auto auto;gap:2px 12px}.qp-line .d{grid-column:1/-1}.qp-note{margin-left:0}}@media print{.qp-sec,.qp-group{break-inside:avoid}.qp-total{-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;print-color-adjust:exact}}.qpaper h4{color:var(--co);text-transform:uppercase;letter-spacing:.1em;margin:26px 0 8px;font-size:11.5px;font-weight:800}.okbar{background:color-mix(in srgb, var(--good) 12%, transparent);border:1px solid color-mix(in srgb, var(--good) 35%, transparent);border-radius:10px;margin-bottom:12px;padding:10px 12px;font-size:14px}.attach-row{border:1px solid var(--line);background:var(--bg);border-radius:10px;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;font-size:14px;display:flex}.attach-ico{font-family:var(--font-mono);background:var(--co);color:#141414;border-radius:4px;padding:3px 6px;font-size:11px;font-weight:700}.inv-line{grid-template-columns:minmax(160px,3fr) 60px 90px 130px 140px 90px auto;align-items:center;gap:6px;margin-bottom:6px;display:grid}.inv-line input,.inv-line select{background:var(--surface);border:1px solid var(--line);width:100%;min-width:0;color:var(--fg);border-radius:8px;padding:7px 8px}.inv-line .num{text-align:right;font-family:var(--font-mono);font-size:13px}@media (max-width:760px){.inv-line{border:1px solid var(--line);border-radius:8px;grid-template-columns:1fr 1fr;padding:8px}.inv-line>input:first-child{grid-column:1/-1}}@media print{.qpaper .qp{break-before:page;margin-top:0}.qpaper .q-after{break-before:page}.qpaper .q-after>div:first-child h4{margin-top:0}}.proj-no{color:var(--co);margin-right:4px;font-weight:700}.sig-preview{border-left:3px solid var(--co);background:var(--bg);color:var(--muted);border-radius:0 8px 8px 0;margin-top:12px;padding:12px 14px;font-size:14px}.sig-preview .b{color:var(--fg);font-weight:700}.qpaper .q-sign{color:var(--paper-muted)}.qpaper .q-sign b{color:var(--paper-ink)}div.f{color:var(--muted);gap:4px;min-width:0;font-size:12.5px;display:grid}div.f select,div.f input{background:var(--bg);border:1px solid var(--line);color:var(--fg);border-radius:8px;width:100%;min-width:0;padding:8px 10px;font-size:14px}.client-add{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.client-add input{flex:140px}.settings-tabs{scrollbar-width:none;flex-wrap:nowrap;margin-bottom:14px;padding-bottom:2px;overflow-x:auto}.settings-tabs::-webkit-scrollbar{display:none}.settings-tabs .chip{white-space:nowrap;flex:none}.check.declare{color:var(--fg);align-items:flex-start;font-size:14px;line-height:1.45}.check.declare input{flex:none;margin-top:3px}.qpaper p{max-width:none}.inv-line{grid-template-columns:minmax(180px,3fr) 56px 90px 130px 130px 96px auto}.inv-line.inv-labels{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:10px}.inv-tools{align-items:center;gap:2px;display:inline-flex}@media (max-width:760px){.inv-line.inv-labels{display:none}}.row .inc-vat{color:var(--muted);margin-right:10px;font-size:12px;font-weight:400}.row .chased{color:var(--muted)}.row .chased.not{color:var(--bad)}.chase-log{margin:0 0 10px}.drag-handle{width:28px;height:36px;color:var(--faint);cursor:grab;touch-action:none;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;padding:0;display:inline-flex}.drag-handle:hover,.drag-handle:focus-visible{color:var(--fg);background:var(--bg)}.drag-list.dragging,.drag-list.dragging *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.drag-list>[data-drag-row]{border-radius:10px;transition:opacity .12s,background .12s;position:relative}.drag-list>.drag-from{opacity:.45;background:var(--bg)}.drag-list>.drop-before:before,.drag-list>.drop-after:after{content:"";background:var(--accent,#ee7a50);border-radius:2px;height:3px;position:absolute;left:0;right:0}.drag-list>.drop-before:before{top:-6px}.drag-list>.drop-after:after{bottom:-6px}@media (max-width:600px){.ac-grid .drag-handle,.rc-grid .drag-handle{grid-column:1/-1;justify-self:end}}.ye-h{margin:20px 0 8px;font-size:14px}.ye-tbl .ye-prev{color:var(--muted)}.ye-tbl tr.ye-big td{border-top:1.5px solid var(--fg);font-size:15px}.ye-checks{gap:6px;margin:0;padding:0;list-style:none;display:grid}.ye-checks li{background:var(--bg);border-radius:10px;align-items:flex-start;gap:10px;padding:8px 12px;display:flex}.ye-checks .ye-mark{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;font-size:12px;font-weight:700;display:inline-flex}.ye-checks .ye-ok .ye-mark{background:var(--good)}.ye-checks .ye-warn .ye-mark{background:#c98a1b}.ye-checks .ye-bad .ye-mark{background:var(--bad)}.ye-checks .ye-ok b{font-weight:500}.quick{flex-wrap:wrap;gap:10px;margin:6px 0 18px;display:flex}.quick-btn{border:1px solid var(--line);background:var(--surface);font:inherit;color:var(--fg);cursor:pointer;border-radius:14px;align-items:center;gap:10px;padding:12px 18px 12px 12px;font-weight:600;transition:border-color .12s,transform .12s;display:inline-flex}.quick-btn:hover{border-color:var(--accent);transform:translateY(-1px)}.quick-plus{background:var(--accent);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:26px;height:26px;font-size:18px;line-height:1;display:inline-flex}@media (max-width:600px){.quick-btn{flex:100%}}@media (min-width:860px){.tiles.home-tiles{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}.person-row,.qc-person{grid-template-columns:30px 1.2fr 1fr 1.4fr 1fr auto;align-items:center;gap:6px;margin-top:6px;display:grid}.qc-person{grid-template-columns:1.2fr 1fr 1.4fr 1fr auto}.person-row input,.qc-person input{background:var(--bg);border:1px solid var(--line);width:100%;min-width:0;color:var(--fg);font:inherit;border-radius:8px;padding:8px 10px}.person-main{width:28px;height:32px;color:var(--faint);cursor:pointer;background:0 0;border:0;border-radius:7px;font-size:16px}.person-main.on{color:var(--accent);cursor:default}.person-main:hover:not(.on){color:var(--fg)}.client-details{grid-template-columns:1.4fr 1.6fr .8fr .8fr}@media (max-width:700px){.person-row{grid-template-columns:30px 1fr 1fr}.person-row input[aria-label=Email],.person-row input[aria-label=Phone]{grid-column:span 1}.qc-person{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;padding-bottom:8px}.client-details{grid-template-columns:1fr 1fr}}
