:root{--paper:#F6F7F9;--paper-2:#EEF0F4;--surface:#FFFFFF;--surface-2:#F5F6F8;--side:#FFFFFF;--ink:#0F1B2D;--ink-2:#5A6573;--muted:#98A1AE;--line:#EDEFF3;--line-2:#E4E7EC;--brand:#2563EB;--brand-deep:#1D4ED8;--brand-tint:#EEF3FE;--brand-line:#CBD9FB;--green:#15A34A;--green-bg:#E9F7EF;--green-line:#BCE6CD;--amber:#D9810A;--amber-bg:#FCF2E2;--amber-line:#F2D8AC;--red:#DC2626;--red-bg:#FCECEC;--red-line:#F4C9C9;--red-deep:#C41F1F;--sys-outflow:var(--red);--sys-outflow-bg:var(--red-bg);--purple:#7A4DBF;--purple-bg:#F1EAFE;--display:"Bricolage Grotesque","Noto Sans SC",sans-serif;--sans:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;--r:14px;--r-sm:10px;--r-lg:20px;--pill:999px;--radius-xs:4px;--shadow:0 1px 2px rgba(16,24,40,.05), 0 2px 6px rgba(16,24,40,.05);--shadow-pop:0 12px 36px rgba(16,24,40,.14);--shadow-brand:0 1px 2px rgba(37,99,235,.25);--shadow-brand-hover:0 5px 14px rgba(37,99,235,.3);--shadow-tooltip:0 4px 16px rgba(15,27,45,.08);--focus-ring:0 0 0 3px rgba(37,99,235,.14);--shadow-hover:0 4px 12px rgba(15,27,45,.1);--shadow-active:0 1px 4px rgba(15,27,45,.1);--shadow-modal:0 24px 64px rgba(15,27,45,.24);--shadow-danger:0 1px 2px rgba(220,38,38,.25);--shadow-danger-hover:0 5px 14px rgba(220,38,38,.28);--shadow-knob:0 1px 2px rgba(16,24,40,.2);--focus-ring-neutral:0 0 0 3px rgba(15,27,45,.07);--overlay:rgba(15,27,45,.4);--tint-ink-hover:rgba(15,27,45,.045);--mask-surface:rgba(245,246,248,.55);--brand-a05:rgba(37,99,235,.05);--brand-a07:rgba(37,99,235,.07);--brand-a12:rgba(37,99,235,.12);--brand-a16:rgba(37,99,235,.16);--brand-a50:rgba(37,99,235,.5);--brand-tint-hover:#E4ECFD;--brand-line-hover:#B9CBF8;--track-bg:#E5E8ED;--acct-cc-1:#FBFCFE;--acct-cc-2:#F5F7FB;--glass-white-45:rgba(255,255,255,.45);--glass-white-50:rgba(255,255,255,.5);--glass-white-55:rgba(255,255,255,.55);--glass-white-60:rgba(255,255,255,.6);--glass-white-65:rgba(255,255,255,.65);--glass-white-70:rgba(255,255,255,.7);--glass-white-95:rgba(255,255,255,.95);--glass-shadow-sm:rgba(0,0,0,.07);--fin-mint-1:#EAFAF1;--fin-mint-2:#BDEFD2;--fin-mint-3:#ACE9C5;--fin-mint-4:#D8F4E3;--fin-mint-shadow:rgba(120,200,160,.25);--fin-mint-shadow-hover:rgba(120,200,160,.36);--fin-mint-title:#12503A;--fin-mint-muted:#4B6B5C;--fin-mint-accent:#0F6B48;--fin-mint-num:#075E42;--fin-rose-1:#FDEFF1;--fin-rose-2:#F3C6D1;--fin-rose-3:#EAB4C2;--fin-rose-4:#F6D7DE;--fin-rose-shadow:rgba(190,110,140,.25);--fin-rose-shadow-hover:rgba(190,110,140,.36);--fin-rose-title:#7A2440;--fin-rose-muted:#8A5566;--fin-rose-accent:#A01840;--fin-rose-num:#9F1239;--fin-slate-1:#F4F7FB;--fin-slate-2:#DDE5F1;--fin-slate-3:#CDD8EA;--fin-slate-4:#E9EEF6;--fin-slate-shadow:rgba(130,150,185,.2);--fin-slate-shadow-hover:rgba(130,150,185,.32);--fin-slate-title:#2B3A52;--fin-slate-muted:#5A6A82;--fin-slate-accent:#2F5288;--fin-slate-num:#25436B;--fs-11:11px;--fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-16:16px;--fs-20:20px;--fs-24:24px;--fs-38:38px;--sp-2:2px;--sp-4:4px;--sp-8:8px;--sp-12:12px;--sp-16:16px;--sp-20:20px;--sp-24:24px;--sp-touch:44px;--ctl-h:36px;--ctl-h-compact:20px;--lay-16:16px;--lay-24:24px;--lay-32:32px;--lay-48:48px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.6}.num{font-family:var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.canvas{max-width:1340px;margin:0 auto;padding:44px 36px 72px}.board-label{display:flex;align-items:center;gap:8px;margin:32px 4px 16px;color:var(--ink-2);font-size:13px;font-weight:500}.board-label .n{font-family:var(--display);font-weight:700;font-size:13px;color:var(--ink-2);background:var(--paper-2);width:22px;height:22px;border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center}.board-label:first-child{margin-top:4px}.screen{background:var(--surface);border-radius:var(--r-lg);overflow:hidden;display:flex;box-shadow:var(--shadow)}.sidebar{width:222px;flex:none;background:var(--side);border-right:1px solid var(--line);padding:20px 16px;display:flex;flex-direction:column;transition:width .2s ease,padding .2s ease}.brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:16px;letter-spacing:-.01em;padding:4px 8px 20px}.logo{width:30px;height:30px;border-radius:var(--r-sm);background:var(--ink);color:var(--surface);display:flex;align-items:center;justify-content:center;flex:none}.logo svg{width:16px;height:16px}.brand-text{display:flex;flex-direction:column;min-width:0;line-height:1.15}.brand-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-meta{display:flex;align-items:center;gap:8px;margin-top:2px}.brand-ver{font-size:11px;font-weight:600;color:var(--muted)}.brand-preview{font-size:11px;font-weight:700;color:var(--surface);background:var(--brand);border-radius:var(--radius-xs);padding:0 8px;line-height:1.5}.sidebar.collapsed .brand-text,.side-cta{display:none}.side-nav{display:flex;flex-direction:column;gap:4px}.side-glab{font-size:11px;color:var(--muted);padding:16px 8px 8px;letter-spacing:.04em}.side-item{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:var(--r-sm);color:var(--ink-2);font-size:14px;cursor:pointer}.side-item svg{width:18px;height:18px;flex:none;opacity:.7}.side-item:hover{background:var(--surface-2)}.side-item.on{background:var(--brand-tint);color:var(--brand-deep);font-weight:600;box-shadow:inset 3px 0 0 0 var(--brand)}.side-item.on svg{color:var(--brand);opacity:1}.side-collapse{margin-top:auto;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;padding:12px 8px 4px;border-top:1px solid var(--line);cursor:pointer}.side-collapse:hover{color:var(--ink-2)}.side-collapse svg{width:15px;height:15px;transition:transform .2s ease}.sidebar.collapsed{width:70px;padding:20px 8px}.sidebar.collapsed .brand{font-size:0;gap:0;justify-content:center;padding:4px 0 20px}.sidebar.collapsed .side-glab{display:none}.sidebar.collapsed .side-item{justify-content:center;padding:12px 0;font-size:0;gap:0}.sidebar.collapsed .side-item svg{width:23px;height:23px}.sidebar.collapsed .side-item.on{box-shadow:none}.sidebar.collapsed .side-collapse{justify-content:center;font-size:0;gap:0;padding:12px 0 4px}.sidebar.collapsed .side-collapse svg{transform:rotate(180deg)}.sidebar .side-item,.sidebar .side-collapse{position:relative}.sidebar.collapsed .side-item:after,.sidebar.collapsed .side-collapse:after{content:attr(data-tip);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) translate(-4px);background:var(--ink);color:var(--surface);font-size:12px;font-weight:500;line-height:1;letter-spacing:.2px;white-space:nowrap;padding:8px;border-radius:var(--r-sm);box-shadow:var(--shadow-pop);opacity:0;pointer-events:none;transition:opacity .14s,transform .14s;z-index:60}.sidebar.collapsed .side-item:before,.sidebar.collapsed .side-collapse:before{content:"";position:absolute;left:calc(100% + 7px);top:50%;transform:translateY(-50%) translate(-4px);border:5px solid transparent;border-right-color:var(--ink);opacity:0;pointer-events:none;transition:opacity .14s,transform .14s;z-index:60}.sidebar.collapsed .side-item:hover:after,.sidebar.collapsed .side-item:hover:before,.sidebar.collapsed .side-collapse:hover:after,.sidebar.collapsed .side-collapse:hover:before{opacity:1;transform:translateY(-50%) translate(0)}.main{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--paper)}.topbar{display:flex;align-items:center;gap:16px;padding:8px 24px;border-bottom:1px solid var(--line);background:var(--surface)}.search{display:flex;align-items:center;gap:8px;flex:1;max-width:360px;border:1px solid var(--line-2);border-radius:var(--r-sm);padding:8px 12px;color:var(--muted);font-size:13px;background:var(--surface-2)}.search svg{width:14px;height:14px}.topbar-r{margin-left:auto;display:flex;align-items:center;gap:12px;color:var(--ink-2);font-size:13px}.topbar-r .topbar-ui-switch{height:var(--lay-32);padding:0 var(--sp-12);border-radius:var(--r-sm);font-size:var(--fs-13);font-weight:400;color:var(--ink-2);white-space:nowrap;flex:none}.topbar-r .ic{width:32px;height:32px;border-radius:var(--pill);border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;color:var(--ink-2)}.topbar-r .ic svg{width:16px;height:16px}.ava{width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--surface);font-weight:600;display:flex;align-items:center;justify-content:center;font-size:13px;flex:none}.body{padding:24px 28px 32px;background:var(--paper)}.greet{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.greet h1{font-size:24px;font-weight:700;letter-spacing:-.02em}.greet p{color:var(--ink-2);font-size:14px;margin-top:4px}.greet .seg{display:flex;gap:4px;background:var(--surface-2);border-radius:var(--pill);padding:4px;font-size:13px}.greet .seg span{padding:8px 16px;color:var(--ink-2);cursor:pointer;border-radius:var(--pill)}.greet .seg span.on{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:var(--shadow)}.seg{display:flex;gap:4px;background:var(--surface-2);border-radius:var(--pill);padding:4px;font-size:13px;width:-moz-fit-content;width:fit-content}.seg span{padding:8px 16px;color:var(--ink-2);cursor:pointer;border-radius:var(--pill)}.seg span.on{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:var(--shadow)}.seg span:not(.on):hover{color:var(--ink);background:var(--tint-ink-hover)}.m .val.hero{font-size:38px;line-height:1.05}.fin-glass{position:relative;border-radius:var(--r-lg);padding:12px 16px;min-height:90px;display:flex;flex-direction:column;border:1px solid var(--glass-white-60);cursor:pointer;transition:box-shadow .18s ease}.fin-glass.mint{background:radial-gradient(120% 120% at 12% 18%,var(--fin-mint-1) 0%,transparent 42%),radial-gradient(90% 90% at 88% 15%,var(--fin-mint-2) 0%,transparent 48%),radial-gradient(120% 130% at 80% 88%,var(--fin-mint-3) 0%,transparent 52%),linear-gradient(135deg,var(--fin-mint-4) 0%,var(--fin-mint-2) 100%);box-shadow:0 10px 30px var(--fin-mint-shadow),inset 0 1px 0 var(--glass-white-50)}.fin-glass.mint:hover{box-shadow:0 16px 40px var(--fin-mint-shadow-hover),inset 0 1px 0 var(--glass-white-50)}.fin-glass.rose{background:radial-gradient(120% 120% at 12% 18%,var(--fin-rose-1) 0%,transparent 42%),radial-gradient(90% 90% at 88% 15%,var(--fin-rose-2) 0%,transparent 48%),radial-gradient(120% 130% at 80% 88%,var(--fin-rose-3) 0%,transparent 52%),linear-gradient(135deg,var(--fin-rose-4) 0%,var(--fin-rose-2) 100%);box-shadow:0 10px 30px var(--fin-rose-shadow),inset 0 1px 0 var(--glass-white-50)}.fin-glass.rose:hover{box-shadow:0 16px 40px var(--fin-rose-shadow-hover),inset 0 1px 0 var(--glass-white-50)}.fin-glass.slate{background:radial-gradient(120% 120% at 12% 18%,var(--fin-slate-1) 0%,transparent 42%),radial-gradient(90% 90% at 88% 15%,var(--fin-slate-2) 0%,transparent 48%),radial-gradient(120% 130% at 80% 88%,var(--fin-slate-3) 0%,transparent 52%),linear-gradient(135deg,var(--fin-slate-4) 0%,var(--fin-slate-2) 100%);box-shadow:0 10px 30px var(--fin-slate-shadow),inset 0 1px 0 var(--glass-white-50)}.fin-glass.slate:hover{box-shadow:0 16px 40px var(--fin-slate-shadow-hover),inset 0 1px 0 var(--glass-white-50)}.fin-glass .fg-top{display:flex;align-items:center;justify-content:space-between}.fin-glass .fg-title{font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.fin-glass.mint .fg-title{color:var(--fin-mint-title)}.fin-glass.rose .fg-title{color:var(--fin-rose-title)}.fin-glass.slate .fg-title{color:var(--fin-slate-title)}.fin-glass .fg-ic{width:20px;height:20px;border-radius:var(--radius-xs);background:var(--glass-white-55);display:inline-flex;align-items:center;justify-content:center;font-size:12px}.fin-glass .fg-seg{display:flex;gap:2px;background:var(--glass-white-45);border:1px solid var(--glass-white-65);border-radius:var(--pill);padding:4px}.fin-glass .fg-seg span{padding:4px 12px;font-size:12px;border-radius:var(--pill);cursor:pointer;font-weight:500}.fin-glass.mint .fg-seg span{color:var(--fin-mint-muted)}.fin-glass.rose .fg-seg span{color:var(--fin-rose-muted)}.fin-glass.slate .fg-seg span{color:var(--fin-slate-muted)}.fin-glass .fg-seg span.on{background:var(--glass-white-95);font-weight:700;box-shadow:0 1px 3px var(--glass-shadow-sm)}.fin-glass.mint .fg-seg span.on{color:var(--fin-mint-accent)}.fin-glass.rose .fg-seg span.on{color:var(--fin-rose-accent)}.fin-glass.slate .fg-seg span.on{color:var(--fin-slate-accent)}.fin-glass .fg-lab{font-size:12px;margin-top:12px}.fin-glass.mint .fg-lab{color:var(--fin-mint-muted)}.fin-glass.rose .fg-lab{color:var(--fin-rose-muted)}.fin-glass.slate .fg-lab{color:var(--fin-slate-muted)}.fin-glass .fg-num{font-size:20px;font-weight:800;letter-spacing:-.5px;margin-top:2px;font-variant-numeric:tabular-nums}.fin-glass .fg-top+.fg-num{margin-top:8px}.fin-glass.mint .fg-num{color:var(--fin-mint-num)}.fin-glass.rose .fg-num{color:var(--fin-rose-num)}.fin-glass.slate .fg-num{color:var(--fin-slate-num)}.fin-glass .fg-foot{margin-top:auto;padding-top:8px;display:flex;align-items:center;justify-content:space-between}.fin-glass .fg-sub{font-size:12px}.fin-glass.mint .fg-sub{color:var(--fin-mint-muted)}.fin-glass.rose .fg-sub{color:var(--fin-rose-muted)}.fin-glass.slate .fg-sub{color:var(--fin-slate-muted)}.fin-glass .fg-cta{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:700;background:var(--glass-white-60);border:1px solid var(--glass-white-70);border-radius:var(--pill);padding:8px 12px}.fin-glass.mint .fg-cta{color:var(--fin-mint-accent)}.fin-glass.rose .fg-cta{color:var(--fin-rose-accent)}.fin-glass.slate .fg-cta{color:var(--fin-slate-accent)}.fin-glass.flat{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.fin-glass.flat:hover{box-shadow:var(--shadow-pop)}.fin-glass.flat .fg-title{color:var(--ink-2)}.fin-glass.flat .fg-ic{background:var(--paper-2)}.fin-glass.flat .fg-num{color:var(--ink)}.fin-glass.flat .fg-lab,.fin-glass.flat .fg-sub{color:var(--muted)}.fin-glass .fg-num.acc-amber{color:var(--amber)}.fin-glass .fg-num.acc-red{color:var(--red)}.fin-glass .fg-num.acc-green{color:var(--green)}.fin-glass .fg-num.acc-muted{color:var(--muted)}.fin-glass.warn{border-color:var(--red);box-shadow:0 0 0 1px var(--red),var(--shadow)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.m{background:var(--surface);border-radius:var(--r);padding:16px 20px;position:relative;box-shadow:var(--shadow)}.m .lab{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:8px;font-weight:500}.m .lab svg{width:15px;height:15px;opacity:.6}.m .val{font-size:24px;font-weight:700;margin-top:8px;line-height:1.08;letter-spacing:-.015em}.m .val small{font-size:14px;font-weight:600;color:var(--muted);margin-right:2px}.m .kpi-ok{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-weight:600;font-size:16px;margin-top:8px;line-height:1.15}.m .kpi-ok svg{width:16px;height:16px}.m .sub{font-size:13px;margin-top:8px;display:flex;align-items:center;gap:8px;color:var(--muted)}.m-click{cursor:pointer;transition:box-shadow .15s,transform .04s}.m-click:hover{box-shadow:var(--shadow-pop)}.m-click:active{transform:translateY(1px)}.delta{display:inline-flex;align-items:center;gap:4px;font-weight:600;font-family:var(--display)}.delta.up{color:var(--green)}.delta.dn{color:var(--red)}.delta svg{width:13px;height:13px}.link{color:var(--ink-2);font-weight:500;text-decoration:none}.link:hover{color:var(--ink)}.reminders{display:grid;grid-template-columns:1.15fr 1fr;gap:16px;margin-bottom:20px}.card{background:var(--surface);border-radius:var(--r);padding:16px;box-shadow:var(--shadow)}.card .h{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;margin-bottom:12px}.card .h svg{width:16px;height:16px}.card .h .c{margin-left:auto;font-size:12px;color:var(--muted);font-weight:400}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.stk{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--line);font-size:13px}.stk:first-of-type{border-top:0}.stk .nm{font-weight:500}.stk .left{margin-left:auto;font-size:13px;color:var(--ink);font-weight:600;font-family:var(--display)}.stk .left.ok{color:var(--ink-2)}.todo{display:flex;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:13px}.todo:first-of-type{border-top:0}.todo .ti{width:28px;height:28px;border-radius:var(--r-sm);flex:none;display:flex;align-items:center;justify-content:center}.todo .ti svg{width:14px;height:14px}.todo small{color:var(--muted);font-size:12px}.todo-tabs{display:inline-flex;gap:4px;margin-left:8px}.todo-tabs span{cursor:pointer;font-size:12px;padding:8px;border-radius:var(--radius-xs);font-weight:600;color:var(--muted)}.todo-tabs span.on{background:var(--brand-tint);color:var(--brand-deep)}.todo-addbtn{cursor:pointer;color:var(--brand);display:inline-flex;padding:8px;margin:-8px;border-radius:var(--r-sm)}.todo-add{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--line);margin-top:4px}.todo-add-ic{width:20px;height:20px;border-radius:50%;border:1.5px dashed var(--line-2);color:var(--muted);display:flex;align-items:center;justify-content:center;flex:none}.todo-add-ic svg{width:12px;height:12px}.todo-add input{flex:1;border:none;outline:none;background:transparent;font-size:14px;color:var(--ink)}.todo-add input::-moz-placeholder{color:var(--muted)}.todo-add input::placeholder{color:var(--muted)}.todo-add:focus-within .todo-add-ic{border-color:var(--brand);border-style:solid;color:var(--brand)}.todo-empty{color:var(--muted);font-size:13px;padding:16px 2px;text-align:center}.todo-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--line)}.todo-cb{width:32px;height:32px;border-radius:50%;border:2px solid var(--line-2);flex:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,background .15s}.todo-cb:hover{border-color:var(--green)}.todo-cb.done{background:var(--green);border-color:var(--green)}.todo-cb svg{width:14px;height:14px;color:var(--surface)}.todo-main{flex:1;min-width:0;cursor:pointer}.todo-title{font-size:14px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.todo-title.done{text-decoration:line-through;color:var(--muted)}.todo-main small{color:var(--muted);font-size:12px}.todo-del{cursor:pointer;color:var(--muted);flex:none;display:inline-flex;opacity:0;transition:opacity .15s}.todo-row:hover .todo-del{opacity:1}.todo-del:hover{color:var(--red)}.todo-del svg{width:15px;height:15px}.hero{border-radius:var(--r);background:var(--surface);overflow:hidden;box-shadow:var(--shadow)}.hero-top{display:none}.hero-in{padding:16px 20px}.hero h2{font-size:16px;font-weight:700;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}.hero h2 svg{width:19px;height:19px;color:var(--ink-2)}.hero .desc{color:var(--ink-2);font-size:13px;margin:4px 0 16px}.ta{border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface-2);padding:16px;min-height:82px;color:var(--ink);font-size:14px;line-height:1.7}.ta::-moz-placeholder{color:var(--muted)}.ta::placeholder{color:var(--muted)}.ta .cur{color:var(--ink)}.hero-bar{display:flex;align-items:center;gap:8px;margin-top:16px;flex-wrap:wrap}.mode{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);border:1px solid var(--line-2);background:var(--surface);padding:8px 16px;border-radius:var(--pill);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,color .16s ease,background .16s ease}.mode:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-a05);transform:translateY(-2px);box-shadow:0 6px 16px var(--brand-a16)}.mode:hover svg{color:var(--brand);opacity:1;transform:scale(1.15)}.mode:active{transform:translateY(0) scale(.97);box-shadow:0 2px 6px var(--brand-a12)}.mode svg{width:15px;height:15px;color:var(--ink-2);opacity:.75;transition:transform .16s ease,color .16s ease}.cust{margin-left:8px;font-size:13px;color:var(--muted);display:flex;align-items:center;gap:8px}.cust b{color:var(--ink-2);font-weight:500}.grow{flex:1}.btn{font-family:var(--sans);font-size:14px;font-weight:500;border-radius:var(--pill);padding:12px 20px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:8px}.btn svg{width:16px;height:16px}.btn-primary{background:var(--brand);border-color:var(--brand);color:var(--surface);font-weight:600;padding:8px 20px;box-shadow:var(--shadow-brand)}.btn-primary.big{font-size:16px;padding:12px 24px}.btn:hover{background:var(--surface-2);border-color:var(--line)}.btn:active{transform:translateY(1px)}.btn-primary:hover{background:var(--brand-deep);border-color:var(--brand-deep)}.btn-primary:active{transform:translateY(1px)}.btn.danger-btn:hover{background:var(--red-deep);border-color:var(--red-deep)}.btn:disabled,.btn.disabled{opacity:.5;cursor:not-allowed;box-shadow:none;pointer-events:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.work-row{display:grid;grid-template-columns:1.55fr 1fr;gap:16px;align-items:stretch;height:100%;min-height:0;margin-bottom:0}.side-col{display:flex;flex-direction:column;gap:20px;min-width:0;min-height:0}.work-row .hero{display:flex;flex-direction:column;min-height:0}.work-row .hero-in{flex:1;display:flex;flex-direction:column;min-height:0}.work-row .ta{flex:1;min-height:0;overflow-y:auto}.work-row .ta{scrollbar-width:thin;scrollbar-gutter:stable}.work-row .ta::-webkit-scrollbar{width:8px}.work-row .ta::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:8px}.work-row .ta-wrap{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.ta-ocr-mask{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;background:var(--mask-surface);border-radius:var(--r);pointer-events:none;animation:modalbg-in .16s ease}.ta-ocr-chip{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--brand-line);box-shadow:var(--shadow);border-radius:var(--pill);padding:8px 20px;font-size:14px;font-weight:500;color:var(--ink-2)}.ta-ocr-spin{width:17px;height:17px;flex:none;border:2.5px solid var(--brand-line);border-top-color:var(--brand);border-radius:50%;animation:ta-spin .8s linear infinite}@keyframes ta-spin{to{transform:rotate(360deg)}}.alert-band{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--red);border-radius:var(--r);box-shadow:var(--shadow);padding:12px 20px;margin-bottom:16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.alert-band .ab-h{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink);flex:none}.alert-band .ab-h svg{width:16px;height:16px;color:var(--red)}.alert-band .ab-c{font-size:12px;color:var(--muted);font-weight:400}.alert-band .ab-items{display:flex;align-items:center;gap:20px;flex-wrap:wrap;font-size:13px;color:var(--ink-2)}.alert-band .ab-item{display:inline-flex;align-items:center;gap:8px}.alert-band .ab-item .dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex:none}.crumb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);margin-bottom:8px}.crumb b{color:var(--ink);font-weight:600}.crumb svg{width:14px;height:14px;opacity:.5}.life{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:13px;background:var(--surface);border:1px solid var(--line-2);padding:8px 12px;border-radius:var(--pill)}.life .s1{color:var(--ink);font-weight:600}.life .s2{color:var(--muted)}.life svg{width:14px;height:14px;color:var(--muted)}.life .badge{font-size:11px;color:var(--amber);background:var(--amber-bg);padding:2px 8px;border-radius:var(--pill);font-weight:500}.life .saved{font-size:11px;color:var(--green);font-weight:500;display:inline-flex;align-items:center;gap:4px}.life .saved:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--green)}.dochdr{display:flex;gap:20px;background:var(--surface);border-radius:var(--r);padding:8px 16px;margin-bottom:8px;box-shadow:var(--shadow)}.fields{display:grid;grid-template-columns:150px 150px 1.2fr 1.6fr 1.1fr;gap:8px 20px;flex:1}.f label{font-size:12px;color:var(--muted);display:block;margin-bottom:4px}.f .v{font-size:14px;font-weight:500;border-bottom:1px solid var(--line);padding-bottom:4px;display:flex;align-items:center;gap:8px}.f .v.ph{color:var(--muted);font-weight:400}.f .v svg{width:15px;height:15px;color:var(--muted)}.f .v .vin{flex:1;min-width:0;border:none;background:transparent;font-family:var(--sans);font-size:var(--fs-14);font-weight:500;color:var(--ink);outline:none;padding:0;height:var(--ctl-h-compact);line-height:var(--ctl-h-compact)}.f .v .vin::-moz-placeholder{color:var(--muted);font-weight:400}.f .v .vin::placeholder{color:var(--muted);font-weight:400}.f .v:focus-within{border-color:var(--ink-2)}.recap{flex:none;width:200px;border-left:1px solid var(--line);padding-left:20px}.recap .t{font-size:13px;color:var(--ink-2);margin-bottom:8px}.recap .t b{font-family:var(--display);font-weight:700;color:var(--ink);font-size:14px}.legend{display:flex;flex-direction:column;gap:4px}.lg{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2)}.lg b{margin-left:auto;font-family:var(--display);font-weight:700;color:var(--ink)}.helpers{display:flex;gap:8px;margin-bottom:8px;align-items:center}.helpers .lab{font-size:13px;color:var(--muted);margin-right:2px}.chip{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);background:var(--surface);border:1px solid var(--line-2);padding:8px 12px;border-radius:var(--pill);cursor:pointer}.chip svg{width:14px;height:14px;color:var(--ink-2);opacity:.75}.chip.ai{border-color:var(--line-2);background:var(--surface);color:var(--ink-2);font-weight:500}.chip.ai svg{color:var(--ink-2);opacity:.75}.helpers .chip{padding:4px 8px;font-size:12px;gap:8px}.helpers .chip svg{width:13px;height:13px}.doc-edit{height:100%;display:flex;flex-direction:column;min-height:0}.lines{border-radius:var(--r);overflow:hidden;background:var(--surface);box-shadow:var(--shadow);flex:1;min-height:0;display:flex;flex-direction:column}.lines-body{flex:1;min-height:0;overflow:auto}.ln{border-bottom:1px solid var(--line);align-items:center}.ln:last-child{border-bottom:0}.ln.warn{background:var(--amber-bg)}.ln.bad{background:var(--red-bg)}.ln .ix{font-family:var(--display);font-weight:600;color:var(--muted);font-size:13px}.lines-tbl{min-width:700px;table-layout:fixed}.otable.compact.lines-tbl th,.otable.compact.lines-tbl td{padding:8px 4px;vertical-align:middle}.otable.compact.lines-tbl th:first-child,.otable.compact.lines-tbl td:first-child{padding-left:16px}.otable.compact.lines-tbl th:last-child,.otable.compact.lines-tbl td:last-child{padding-right:16px}.otable.compact.lines-tbl tbody tr.addline-row td{padding:0}.lines-tbl thead th{position:sticky;top:0;z-index:1;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:12px;color:var(--ink);font-weight:600}.lines-tbl th:nth-child(1),.lines-tbl td:nth-child(1){width:46px}.lines-tbl th:nth-child(3),.lines-tbl td:nth-child(3){width:100px}.lines-tbl th:nth-child(4),.lines-tbl td:nth-child(4){width:106px}.lines-tbl th:nth-child(5),.lines-tbl td:nth-child(5){width:82px}.lines-tbl th:nth-child(6),.lines-tbl td:nth-child(6){width:138px}.lines-tbl th:nth-child(7),.lines-tbl td:nth-child(7){width:190px}.lines-tbl td:first-child{box-shadow:inset 3px 0 0 transparent}.lines-tbl tr.ok td:first-child{box-shadow:inset 3px 0 0 var(--green)}.lines-tbl tr.warn td:first-child{box-shadow:inset 3px 0 0 var(--amber)}.lines-tbl tr.bad td:first-child{box-shadow:inset 3px 0 0 var(--red)}.lines-tbl tbody tr.warn:hover{background:var(--amber-bg)}.lines-tbl tbody tr.bad:hover{background:var(--red-bg)}.lines-tbl tbody tr.lines-msg:hover,.lines-tbl tbody tr.addline-row:hover{background:var(--surface)}.lines-tbl tbody tr.addline-row td{border-bottom:0}.pname{font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bd{font-size:11px;color:var(--ink-2);background:var(--paper-2);border-radius:var(--pill);padding:2px 8px;font-weight:400}.raw{font-size:12px;color:var(--ink-2);margin-top:2px}.raw em{color:var(--red);font-style:normal;font-weight:500}.raw.w em{color:var(--amber)}.specchips{display:flex;gap:8px;margin-top:8px}.sc{font-size:12px;border:1px solid var(--line-2);border-radius:var(--pill);padding:4px 12px;color:var(--ink-2);background:var(--surface);cursor:pointer}.sc.pick{border-color:var(--line-2);color:var(--ink);background:var(--surface-2);font-weight:600}.qcell{display:flex;align-items:center;gap:8px;justify-content:flex-end}.qcell .u2{font-size:13px;color:var(--ink-2)}.pcell{display:flex;align-items:center;gap:4px;justify-content:flex-end}.pcell .yen{font-size:13px;color:var(--ink-2)}.notecell{display:flex;align-items:center}.note-in{width:100%;border:1px solid var(--line-2);border-radius:var(--r-sm);padding:4px 8px;font-size:13px;font-family:var(--sans);color:var(--ink);background:var(--surface);text-align:left;outline:none}.note-in:focus{border-color:var(--ink-2);box-shadow:var(--focus-ring-neutral)}.note-in::-moz-placeholder{color:var(--muted)}.note-in::placeholder{color:var(--muted)}.qin{width:54px;border:1px solid var(--line-2);border-radius:var(--r-sm);padding:4px 8px;font-size:13px;font-family:var(--display);font-variant-numeric:tabular-nums;color:var(--ink);text-align:right;background:var(--surface)}.qin:hover{border-color:var(--muted)}.qin:focus{outline:none;border-color:var(--ink-2);box-shadow:var(--focus-ring-neutral)}.qin::-moz-placeholder{color:var(--muted);font-family:var(--sans);font-size:12px}.qin::placeholder{color:var(--muted);font-family:var(--sans);font-size:12px}.amt{text-align:right}.amt .num{font-size:14px;font-weight:700}.ops{display:flex;gap:8px;justify-content:flex-end;align-items:center}.op{position:relative;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;color:var(--ink-2);border:1px solid var(--line-2);background:var(--surface);border-radius:var(--r-sm);cursor:pointer;transition:background .13s,color .13s,border-color .13s}.op svg{width:14px;height:14px}button.op,button.util,button.addfee-trigger,button.addfee-opt{margin:0;font-family:inherit;font-weight:inherit;line-height:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}button.op,button.addfee-trigger{padding:0}button.addfee-trigger{border:0;background:none}button.addfee-opt{display:block;width:100%;text-align:left;border:0;background:none}.op:hover{border-color:var(--muted);color:var(--ink);background:var(--surface-2)}.op.ghost{color:var(--muted)}.op.ghost:hover{color:var(--red);border-color:var(--red-line);background:var(--red-bg)}.op.solid{background:var(--brand);color:var(--surface);border-color:var(--brand)}.op.solid:hover{background:var(--brand-deep);color:var(--surface);border-color:var(--brand-deep)}.op:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(3px);background:var(--ink);color:var(--surface);font-size:12px;font-weight:500;line-height:1;letter-spacing:.2px;white-space:nowrap;padding:8px;border-radius:var(--r-sm);box-shadow:var(--shadow-pop);opacity:0;pointer-events:none;transition:opacity .14s,transform .14s;z-index:40}.op:before{content:"";position:absolute;bottom:calc(100% + 3px);left:50%;transform:translate(-50%) translateY(3px);border:5px solid transparent;border-top-color:var(--ink);opacity:0;transition:opacity .14s,transform .14s;z-index:40}.op:hover:after,.op:hover:before{opacity:1;transform:translate(-50%) translateY(0)}.tag{font-size:11px;font-weight:600;padding:4px 8px;border-radius:var(--pill);display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.tag svg{width:12px;height:12px}.t-ok{color:var(--green);background:var(--green-bg)}.t-warn,.t-bad{color:var(--amber);background:var(--amber-bg)}.undr{display:flex;align-items:center;gap:16px;padding:16px;margin-top:16px}.addbox{flex:1;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px;border:1px dashed var(--line-2);border-radius:var(--r);padding:12px 16px}.addline{position:relative;border-top:1px solid var(--line)}.addline-ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted);pointer-events:none}.addbox-in{width:100%;border:1px dashed var(--line-2);border-radius:var(--r);padding:12px 16px 12px 40px;font-family:var(--sans);font-size:14px;color:var(--ink);background:transparent;outline:none}.anly-tools .addbox-in{background:var(--surface);border-style:solid;border-color:var(--line-2)}.addbox-in::-moz-placeholder{color:var(--muted)}.addbox-in::placeholder{color:var(--muted)}.addbox-in:focus{border-style:solid;border-color:var(--brand)}.addline-drop{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-pop);padding:8px;max-height:280px;overflow:auto;display:none}.addline-drop.narrow{right:auto;width:min(600px,100%)}.addline-drop.stickyhead{padding-top:0}.addline-drop.narrow .addline-tbl thead th,.addline-drop.stickyhead .addline-tbl thead th{position:sticky;top:0;background:var(--surface);box-shadow:inset 0 -1px 0 var(--line);z-index:2}.addline.open .addline-drop{display:block}.addline-tbl{width:100%;border-collapse:collapse;font-size:13px}.addline-tbl thead th{text-align:left;font-weight:600;color:var(--ink);font-size:11px;padding:4px 8px 8px;border-bottom:1px solid var(--line)}.addline-tbl th.r,.addline-tbl td.r{text-align:right}.addline-tbl tbody tr{cursor:pointer}.addline-tbl tbody tr:hover:not(.no-hover){background:var(--surface-2)}.addline-tbl tbody tr.is-active{background:var(--surface-2)}.addline-tbl td{padding:8px;color:var(--ink);border-bottom:1px solid var(--line);white-space:nowrap}.addline-tbl tbody tr:last-child td{border-bottom:none}.bought{font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--pill);white-space:nowrap;color:var(--green);background:var(--green-bg);margin-left:8px;vertical-align:1px}.addline-shelf{font-size:12px;color:var(--muted);line-height:1.5;padding:8px;border-bottom:1px dashed var(--line)}.addline-shelf b{color:var(--amber);font-weight:600}.addline-tbl tbody tr.shelved td{color:var(--muted)}.shelf-tag{font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--pill);white-space:nowrap;color:var(--amber);background:var(--amber-bg);margin-left:8px;vertical-align:1px}.ondemand-tag{font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--pill);white-space:nowrap;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);margin-left:8px;vertical-align:1px}.dup-warn{background:var(--amber-bg);border:1px solid var(--amber-line);border-radius:var(--r-sm);padding:8px 12px;display:grid;gap:8px}.dup-warn-hd{font-size:13px;font-weight:600;color:var(--amber)}.dup-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink)}.dup-row .dup-nm{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dup-row .dup-meta{color:var(--muted);font-size:12px;white-space:nowrap;flex:1;overflow:hidden;text-overflow:ellipsis}.dup-row .dup-use{flex:none;cursor:pointer;border:1px solid var(--amber-line);background:var(--surface);color:var(--amber);font-size:12px;font-weight:600;border-radius:var(--pill);padding:4px 12px;white-space:nowrap}.dup-row .dup-use:hover{background:var(--amber);color:var(--surface);border-color:var(--amber)}.addline-new{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--brand);font-size:13px;font-weight:500;padding:8px;margin-top:4px;border-top:1px solid var(--line)}.addline-new:hover{background:var(--surface-2)}.addline-new svg{width:15px;height:15px;flex:none}.addbox svg{width:15px;height:15px}.fees{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2)}.fees .fz{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--pill);padding:8px 12px}.fee-items{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fee-item{display:inline-flex;align-items:center;gap:4px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--pill);padding:4px 8px 4px 12px}.fee-item .fee-nm{font-size:13px;color:var(--ink-2);white-space:nowrap}.fee-item .fee-amt{width:54px;border:none;background:transparent;font-family:var(--sans);font-size:13px;color:var(--ink);outline:none;text-align:right;padding:0}.fee-item .fee-u{font-size:12px;color:var(--muted)}.fee-item .fee-x{display:inline-flex;cursor:pointer;color:var(--muted);margin-left:2px}.fee-item .fee-x svg{width:13px;height:13px}.fee-item .fee-x:hover{color:var(--red)}.addfee{position:relative}.addfee-trigger{display:inline-flex;align-items:center;gap:4px;cursor:pointer;color:var(--muted);font-size:13px;white-space:nowrap}.addfee-trigger:hover{color:var(--ink-2)}.addfee-trigger svg{width:12px;height:12px;transition:transform .15s}.addfee.open .addfee-trigger svg{transform:rotate(180deg)}.addfee-drop{position:absolute;top:calc(100% + 8px);left:0;z-index:50;width:172px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-pop);padding:8px;display:none}.addfee.up .addfee-drop{top:auto;bottom:calc(100% + 8px)}.addfee.open .addfee-drop{display:block}.addfee-drop-hd{font-size:11px;color:var(--muted);padding:4px 8px 8px;letter-spacing:.02em}.addfee-opt{padding:8px;border-radius:var(--r-sm);font-size:13px;color:var(--ink);cursor:pointer;white-space:nowrap}.addfee-opt:hover{background:var(--surface-2)}.addfee-manage{display:flex;align-items:center;gap:8px;padding:8px;margin-top:4px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);cursor:pointer;white-space:nowrap}.addfee-manage:hover{color:var(--ink-2)}.addfee-manage svg{width:13px;height:13px;flex:none}.fees .fz .num{color:var(--ink);font-weight:600}.totline{display:flex;align-items:baseline;gap:8px;justify-content:flex-end;padding:16px 4px 20px;color:var(--ink-2);font-size:13px}.totline .big{font-family:var(--display);font-weight:700;color:var(--ink);font-size:24px;letter-spacing:-.01em}.totline small{color:var(--muted);font-size:12px}.actions{display:flex;align-items:center;gap:12px;padding:8px 20px;background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow)}.actions.sticky-bottom{position:sticky;bottom:0;z-index:5}.actions .gh{font-size:14px;color:var(--ink-2);display:flex;align-items:center;gap:8px;cursor:pointer;min-width:0;flex-shrink:1}.actions .gh svg{width:15px;height:15px;flex-shrink:0}.actions .util{flex-shrink:0}.actions .btn,.actions .save{flex-shrink:0;white-space:nowrap}.sep{width:1px;height:34px;background:var(--line-2);margin:0 4px}.save{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--brand);background:var(--brand);color:var(--surface);border-radius:var(--pill);padding:8px 24px;cursor:pointer;box-shadow:var(--shadow-brand)}.save .mn{font-size:14px;font-weight:600}.save .sb{font-size:11px;opacity:.85;font-weight:400}.util{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-2);border:1px solid var(--line-2);background:var(--surface);padding:8px 16px;border-radius:var(--pill);cursor:pointer}.util svg{width:15px;height:15px}.foot{text-align:center;color:var(--muted);font-size:12px;margin-top:32px}.canvas{padding:20px 20px 24px;height:100vh;overflow:hidden}.board-label,.foot,.screen{display:none}.screen.active{display:flex;height:calc(100vh - 40px)}.screen.active .sidebar{overflow-y:auto}.screen.active .main{overflow:hidden}.screen.active .body{flex:1;min-height:0;overflow-y:auto}.navjump{position:fixed;right:18px;bottom:18px;z-index:95;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.njbtn{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--surface);border:none;border-radius:var(--pill);padding:12px 16px;font-family:var(--sans);font-size:13px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-pop)}.njbtn svg{width:16px;height:16px}.njlist{display:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-pop);padding:8px;width:308px;max-height:72vh;overflow:auto}.navjump.open .njlist{display:block}.njg{font-size:11px;color:var(--muted);padding:8px 8px 4px;letter-spacing:.04em}.njg.first{padding-top:2px}.nj{display:flex;align-items:center;gap:8px;padding:8px;border-radius:var(--r-sm);font-size:13px;color:var(--ink-2);cursor:pointer}.nj:hover{background:var(--surface-2);color:var(--ink)}.nj.on{background:var(--brand-tint);color:var(--brand-deep);font-weight:600}.nj .njn{font-family:var(--display);font-weight:700;font-size:11px;color:var(--muted);width:22px;height:22px;border-radius:var(--radius-xs);background:var(--paper-2);display:flex;align-items:center;justify-content:center;flex:none}.nj.on .njn{background:var(--brand);color:var(--surface)}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%) translateY(12px);background:var(--ink);color:var(--surface);padding:12px 20px;border-radius:var(--pill);font-size:14px;font-weight:500;box-shadow:var(--shadow-pop);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:200;display:inline-flex;align-items:center;gap:8px}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.toast svg{width:15px;height:15px}.toast.error{background:var(--red)}.toast-spinner{width:15px;height:15px;flex:none;border:2px solid var(--glass-white-45);border-top-color:var(--surface);border-radius:50%;animation:ta-spin .8s linear infinite}.btn.danger-btn{background:var(--red);border-color:var(--red);color:var(--surface);box-shadow:var(--shadow-danger)}.search-wrap{position:relative;flex:1;max-width:460px;display:flex}.search-wrap .search{flex:1;max-width:none;width:100%}.search-pop{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-pop);overflow:hidden;z-index:30;display:none}.search-pop:before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px}.search-wrap:hover .search-pop{display:block}.sp-g{padding:8px 0;border-top:1px solid var(--line)}.sp-g:first-child{border-top:0}.sp-gl{font-size:11px;color:var(--muted);padding:4px 16px 8px;display:flex;align-items:center;gap:8px}.sp-gl svg{width:13px;height:13px}.sp-row{display:flex;align-items:center;gap:12px;padding:8px 16px;cursor:pointer}.sp-row:hover{background:var(--surface-2)}.sp-ic{width:32px;height:32px;border-radius:var(--r-sm);flex:none;display:flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--ink-2);font-size:13px;font-weight:600}.sp-ic svg{width:15px;height:15px}.sp-ic.bl{background:var(--paper-2);color:var(--ink-2)}.sp-m{flex:1;min-width:0}.sp-nm{font-size:14px;color:var(--ink);font-weight:500}.sp-sub{font-size:12px;color:var(--muted)}.sp-dest{flex:none;display:flex;align-items:center;gap:4px;font-size:12px;color:var(--ink-2);background:var(--surface-2);padding:4px 8px;border-radius:var(--pill)}.sp-dest svg{width:12px;height:12px}.doctabs{display:flex;align-items:center;gap:8px;padding:8px 20px;background:var(--paper);border-bottom:1px solid var(--line)}.dtab{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);padding:8px 16px;border-radius:var(--r-sm);white-space:nowrap;cursor:pointer}.dtab svg{width:13px;height:13px}.dtab.home svg{width:15px;height:15px}.dtab .dot{width:7px;height:7px;border-radius:50%}.dtab .xc{color:var(--muted);display:flex}.dtab.on{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:var(--shadow)}.dtab-add{color:var(--muted);padding:8px;cursor:pointer;display:flex}.dtab-add svg{width:15px;height:15px}.pagehd{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.sectabs{display:flex;gap:4px;background:var(--surface-2);border-radius:var(--pill);padding:4px}.st{font-size:13px;color:var(--ink-2);padding:8px 16px;border-radius:var(--pill);cursor:pointer}.st.on{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:var(--shadow)}.ph-actions{display:flex;align-items:center;gap:8px}.otable-wrap{border-radius:var(--r);overflow:auto;background:var(--surface);box-shadow:var(--shadow)}.otable{width:100%;border-collapse:collapse;font-size:14px;min-width:700px}.otable th{text-align:left;font-size:12px;font-weight:600;color:var(--ink);padding:8px 16px;background:var(--line);border-bottom:1px solid var(--line-2);white-space:nowrap}.otable th.r,.otable td.r{text-align:right}.otable td.r{white-space:nowrap;font-variant-numeric:tabular-nums}.otable td{padding:8px 16px;border-bottom:1px solid var(--line);color:var(--ink)}.operation-log-table{table-layout:fixed}.operation-log-table th:nth-child(1){width:128px}.operation-log-table th:nth-child(3){width:88px}.operation-log-table th:nth-child(4){width:144px}.operation-log-table th:nth-child(5){width:144px}.operation-log-table th:nth-child(6){width:64px}.operation-log-table th,.operation-log-table td{padding:var(--sp-8);font-size:var(--fs-13)}.operation-log-table .log-nowrap{white-space:nowrap}.operation-log-table .log-operator{width:104px;overflow-wrap:anywhere}.operation-log-table td.log-description{white-space:normal;overflow-wrap:anywhere}.operation-log-table .log-target{overflow:hidden;text-overflow:ellipsis}.ledger-counterparty{display:block;font-size:var(--fs-12);color:var(--muted)}.otable.compact th,.otable.compact td{padding:4px 16px}.otable.compact tfoot td{padding:8px 16px}.otable.compact tbody tr:hover{background:var(--surface-2)}.otable th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.otable th.sortable:hover{color:var(--brand)}.otable th .sort-i{font-size:11px;margin-left:4px;opacity:.45;vertical-align:1px}.otable th.sort-on .sort-i{opacity:1;color:var(--brand)}.otable tbody tr:last-child td{border-bottom:0}.otable tbody tr:hover{background:var(--surface-2)}.scrollbox{max-height:360px;overflow-y:auto}.scrollbox .otable{border-collapse:separate;border-spacing:0}.scrollbox .otable thead th{position:sticky;top:0;z-index:2;box-shadow:inset 0 -1px 0 var(--line)}.sticky-tbl{max-height:60vh}.sticky-tbl .otable{border-collapse:separate;border-spacing:0}.sticky-tbl .otable thead th{position:sticky;top:0;z-index:3;box-shadow:inset 0 -1px 0 var(--line)}.sticky-tbl .otable tfoot td{position:sticky;bottom:0;z-index:2}.onum{font-family:var(--display);font-weight:500;font-variant-numeric:tabular-nums;cursor:pointer;color:var(--brand)}.onum:hover{text-decoration:underline}.otable tbody tr.void-row td{background:var(--paper-2);color:var(--ink-2)}.otable tbody tr.void-row:hover td{background:var(--line-2)}.otable tbody tr.void-row td:first-child{box-shadow:inset 3px 0 0 var(--red)}.otable tbody tr.void-row .onum{color:var(--ink-2);font-weight:400;text-decoration:line-through;text-decoration-color:var(--ink);text-decoration-thickness:2px}.otable tbody tr.void-row .oamt{color:var(--muted);font-weight:400;text-decoration:line-through;text-decoration-color:var(--ink);text-decoration-thickness:2px}.otable tbody tr.void-row .onum .st-void{text-decoration:none}#scr-stock .prodtable tbody td:first-child{cursor:pointer;font-weight:500}#scr-stock .prodtable tbody td:first-child:hover{color:var(--brand)}.prodtable td.td-edit{cursor:pointer}.prodtable td.td-edit:hover:not(:focus-within){background:var(--brand-a07);box-shadow:inset 0 0 0 1px var(--brand-a50)}.prodtable td.td-edit .cell-editable{display:block;min-height:1.1em}.prodtable td.td-edit .cell-empty{color:var(--muted);font-weight:400}.prodtable td.td-edit input.cin.cell-edit,.prodtable td.td-edit select.cin.cell-edit{width:100%;min-width:0;max-width:100%;box-sizing:border-box;text-align:left;padding:8px}.prodtable td.td-edit input.cin.cell-edit.r{text-align:right}#scr-customers .otable tbody td:first-child,#scr-suppliers .otable tbody td:first-child{cursor:pointer;font-weight:500}#scr-customers .otable tbody td:first-child:hover,#scr-suppliers .otable tbody td:first-child:hover{color:var(--brand)}#scr-prod .otable tbody td:nth-child(2),#scr-cust .otable tbody td:nth-child(2){cursor:pointer;font-weight:600}#scr-prod .otable tbody td:nth-child(2):hover,#scr-cust .otable tbody td:nth-child(2):hover{color:var(--brand)}.oamt{font-family:var(--display);font-weight:700;font-variant-numeric:tabular-nums}.st-b{font-size:11px;font-weight:600;padding:4px 8px;border-radius:var(--pill);white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.st-b:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7}.st-draft{color:var(--amber);background:var(--amber-bg)}.st-pending{color:var(--ink-2);background:var(--paper-2)}.st-due{color:var(--amber);background:var(--amber-bg)}.st-paid{color:var(--green);background:var(--green-bg)}.st-credit{color:var(--amber);background:var(--amber-bg)}.st-void{color:var(--muted);background:var(--paper-2)}.st-voided,.st-dead{color:var(--red);background:var(--red-bg)}.st-slow{color:var(--amber);background:var(--amber-bg)}.st-outflow{color:var(--sys-outflow);background:var(--sys-outflow-bg)}.cta{color:var(--brand);font-weight:600}.secpanel{display:none}.secpanel.on{display:block}.oact{display:flex;align-items:center;gap:4px;justify-content:flex-end}.rowmenu-backdrop{position:fixed;inset:0;z-index:49}.pop-panel{z-index:50;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-sm);box-shadow:var(--shadow-pop);max-height:70vh;overflow:auto}.menu-list{display:flex;flex-direction:column;gap:2px;padding:4px}.menu-h{font-size:11px;color:var(--muted);padding:4px 8px}.menu-i{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--r-sm);font-size:13px;color:var(--ink-2);cursor:pointer;white-space:nowrap}.menu-i svg{width:15px;height:15px;opacity:.8;flex:none}.menu-i:hover{background:var(--surface-2);color:var(--ink)}.menu-i.on{color:var(--brand-deep);font-weight:600}.menu-i.danger{color:var(--red)}.menu-i.danger:hover{background:var(--red-bg)}.menu-i.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.menu-sep{height:1px;background:var(--line);margin:4px}.rowmenu-pop{min-width:152px}.tabmenu-pop{min-width:210px}.ava-pop{min-width:150px}.ava-pop .ava-who{font-size:13px;padding:8px 12px;border-bottom:1px solid var(--line)}.notif-pop{width:320px;overflow:hidden}.notif-h{padding:8px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center}.notif-h b{font-size:14px;flex:1}.notif-clear{color:var(--brand);font-size:13px;cursor:pointer}.notif-body{max-height:360px;overflow:auto}.notif-live{border-bottom:4px solid var(--paper-2)}.notif-sec{padding:8px 16px 4px;font-size:12px;font-weight:700;color:var(--muted);display:flex;align-items:center;gap:4px}.notif-sec svg{width:13px;height:13px}.notif-i{padding:8px 16px;border-bottom:1px solid var(--line);cursor:pointer;display:flex;align-items:flex-start;gap:8px}.notif-i.col{display:block}.notif-i.unread{background:var(--paper-2)}.notif-line{display:flex;align-items:center;gap:8px}.notif-dot{width:7px;height:7px;border-radius:50%;margin-top:4px;flex:none}.notif-dot.sm{width:6px;height:6px;margin-top:0;background:var(--brand)}.notif-txt{flex:1;min-width:0}.notif-t{font-size:13px;font-weight:500;flex:1}.notif-s{font-size:13px;color:var(--muted);margin-top:2px}.notif-time{font-size:11px;color:var(--muted);margin-top:4px}.notif-none{padding:20px;color:var(--muted);font-size:13px;text-align:center}.tb-badge{position:absolute;top:-3px;right:-4px;min-width:15px;height:15px;padding:0 4px;background:var(--red);color:var(--surface);border-radius:var(--pill);font-size:11px;line-height:15px;text-align:center;font-weight:700}.col-hidden{display:none}.colmenu-cb{width:16px;height:16px;border-radius:var(--radius-xs);border:1.5px solid var(--line-2);display:inline-flex;align-items:center;justify-content:center;flex:none;color:var(--surface)}.colmenu-cb.on{background:var(--brand);border-color:var(--brand)}.colmenu-cb svg{width:11px;height:11px;opacity:1}.oact .iact.danger:not(:first-child),.oact .iact.warn:not(:first-child){margin-left:12px}.otable td:first-child:not(:has(*)){max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.otable td.tname{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iact{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background:transparent;border-radius:var(--r-sm);color:var(--muted);cursor:pointer;transition:background .13s,color .13s}.iact svg{width:16px;height:16px}.iact:hover{background:var(--surface-2);color:var(--ink)}.iact.go:hover{background:var(--brand-tint);color:var(--brand)}.iact.danger:hover{background:var(--red-bg);color:var(--red)}.iact.warn:hover{background:var(--amber-bg);color:var(--amber)}.iact:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(3px);background:var(--ink);color:var(--surface);font-size:12px;font-weight:500;line-height:1;letter-spacing:.2px;white-space:nowrap;padding:8px;border-radius:var(--r-sm);box-shadow:var(--shadow-pop);opacity:0;pointer-events:none;transition:opacity .14s,transform .14s;z-index:40}.iact:before{content:"";position:absolute;bottom:calc(100% + 3px);left:50%;transform:translate(-50%) translateY(3px);border:5px solid transparent;border-top-color:var(--ink);opacity:0;transition:opacity .14s,transform .14s;z-index:40}.iact:hover:after,.iact:hover:before{opacity:1;transform:translate(-50%) translateY(0)}.sort-ar{font-size:11px;margin-left:4px;color:var(--muted)}.otable th.sortable.asc .sort-ar,.otable th.sortable.desc .sort-ar{color:var(--ink)}.pick-ctx{font-size:13px;color:var(--ink-2);background:var(--surface-2);border-radius:var(--r-sm);padding:8px 12px}.pick-ctx em{color:var(--amber);font-style:normal;font-weight:500}.pick-list{display:flex;flex-direction:column;gap:8px}.pick-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line-2);border-radius:var(--r);padding:12px 16px;cursor:pointer}.pick-row:hover{border-color:var(--muted);background:var(--surface-2)}.pick-row.on{border-color:var(--ink-2);background:var(--surface-2)}.pr-nm{font-size:14px;font-weight:500;color:var(--ink)}.pr-sub{font-size:12px;color:var(--muted);margin-top:2px}.pr-pick{font-size:12px;color:var(--ink-2);font-weight:500;white-space:nowrap}.pick-row.on .pr-pick{color:var(--ink);font-weight:600}.otable .oaddr{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2)}.otable tfoot td{padding:8px 20px;border-top:2px solid var(--line);background:var(--surface-2)}.otable .ofoot-l{color:var(--ink-2);font-size:13px;font-weight:500;text-align:right}.otable .ofoot-amt{font-family:var(--display);font-weight:700;font-size:16px;color:var(--ink);text-align:right}.tbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:16px}.tbar-l{font-size:13px;color:var(--ink-2)}.tbar-l b{font-family:var(--display);font-weight:700;color:var(--ink)}.tbar-r{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.psize{position:relative;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);border:1px solid var(--line-2);border-radius:var(--pill);padding:8px 12px;cursor:pointer}.psize-val{font-weight:600;color:var(--ink)}.psize svg{width:13px;height:13px;color:var(--muted)}.psize-pop{min-width:108px}.pager{display:flex;align-items:center;gap:4px}.pg{min-width:34px;height:34px;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--ink-2);border:1px solid var(--line-2);border-radius:var(--pill);cursor:pointer;padding:0 8px}.pg:hover{border-color:var(--muted);background:var(--surface-2)}.pg.on{background:var(--surface);border-color:transparent;color:var(--ink);font-weight:700;box-shadow:var(--shadow)}.pg.nav svg{width:14px;height:14px}.pg.dots{border:0;cursor:default;min-width:18px}.pg.disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.pjump{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2)}.pjin{width:46px;border:1px solid var(--line-2);border-radius:var(--r-sm);padding:8px;font-size:13px;text-align:center;color:var(--ink);font-family:var(--display);font-variant-numeric:tabular-nums;background:var(--surface)}.pjin:focus{outline:none;border-color:var(--ink-2);box-shadow:var(--focus-ring-neutral)}.modal-bg{position:fixed;inset:0;background:var(--overlay);display:none;align-items:flex-start;justify-content:center;z-index:100;padding:56px 20px;overflow:auto}.modal-bg.show{display:flex;animation:modalbg-in .16s ease}.modal{background:var(--surface);border-radius:var(--r-lg);width:560px;max-width:100%;box-shadow:var(--shadow-modal);overflow:hidden}.modal-bg.show .modal{animation:modal-in .18s cubic-bezier(.2,.7,.3,1)}@keyframes modalbg-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}.modal-hd{display:flex;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}.modal-hd h3{font-size:16px;font-weight:700;flex:1;min-width:0}.modal-x{color:var(--muted);cursor:pointer;display:flex}.modal-exp{display:inline-flex;align-items:center;gap:4px;cursor:pointer;color:var(--ink-2);font-size:13px;margin-right:16px;white-space:nowrap}.modal-exp:hover{color:var(--ink)}.modal-exp svg{width:15px;height:15px;flex:none}.modal-back{display:inline-flex;align-items:center;gap:4px;cursor:pointer;color:var(--ink-2);font-size:13px;margin-right:12px;white-space:nowrap}.modal-back:hover{color:var(--ink)}.modal-back svg{width:15px;height:15px;flex:none}.topbar-back{display:inline-flex;align-items:center;gap:4px;cursor:pointer;color:var(--ink-2);font-size:13px;border:1px solid var(--line-2);border-radius:var(--r);padding:8px 12px;background:var(--surface);white-space:nowrap}.topbar-back:hover{background:var(--surface-2);color:var(--ink)}.topbar-back svg{width:15px;height:15px;flex:none}.onum-link{color:var(--brand);cursor:pointer;font-weight:600}.onum-link:hover{text-decoration:underline}.modal-x svg{width:18px;height:18px}.modal-bd{padding:20px 24px;display:flex;flex-direction:column;gap:20px;max-height:60vh;overflow:auto}.fgrp label{display:block;font-size:13px;color:var(--ink-2);font-weight:600;margin-bottom:8px}.fchips{display:flex;flex-wrap:wrap;gap:8px}.fchip{font-size:13px;color:var(--ink-2);border:1px solid var(--line-2);background:var(--surface);padding:8px 16px;border-radius:var(--pill);cursor:pointer}.fchip.on{border-color:var(--line-2);background:var(--surface-2);color:var(--ink);font-weight:600}.frow{display:flex;align-items:center;gap:8px}.finput{flex:1;box-sizing:border-box;height:var(--ctl-h);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:var(--sp-4) var(--sp-12);font-size:var(--fs-14);line-height:1.4;color:var(--ink);background:var(--surface);min-width:0}.frow .finput,.iu .finput{flex:1}.mf>.finput,.modal-bd>.finput{flex:none}textarea.finput{height:auto;min-height:var(--ctl-h);padding:var(--sp-8) var(--sp-12)}.finput:disabled,.finput[disabled],select.finput:disabled,textarea.finput:disabled,.cin:disabled,.qin:disabled{opacity:.55;cursor:not-allowed;background:var(--surface-2)}.finput:focus{outline:none;border-color:var(--ink-2);box-shadow:var(--focus-ring-neutral)}.finput::-moz-placeholder{color:var(--muted)}.finput::placeholder{color:var(--muted)}.fdash{color:var(--muted)}.frow .fgrp{min-width:0}.mform{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.modal-bd .mform{grid-template-columns:repeat(2,1fr);gap:16px 20px}.mform .mf{display:flex;flex-direction:column;gap:8px;min-width:0}.req{color:var(--red);margin-left:2px;font-weight:700}.mf.bad .finput{border-color:var(--red);background:var(--red-bg)}.err-msg{display:none;color:var(--red);font-size:12px;margin-top:-2px}.mf.bad .err-msg{display:block}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 20px;text-align:center}.empty-state svg{width:30px;height:30px;color:var(--muted);opacity:.6}.empty-state .es-t{font-size:14px;color:var(--ink-2);font-weight:500}.empty-state .es-s{font-size:13px;color:var(--muted)}.empty-state .es-cta{margin-top:16px}.mform .mf.full{grid-column:1 / -1}.mform .mf.span2{grid-column:span 2}.mform .mf>label{font-size:13px;color:var(--ink-2);font-weight:600}.mform .finput{width:100%}.mform .iu{display:flex;align-items:center;gap:8px;min-width:0}.mform .iu .finput{flex:1;min-width:0}.mform .iu .u{color:var(--muted);font-size:13px;flex:none}.modal-ft{display:flex;align-items:center;gap:8px;padding:16px 24px;border-top:1px solid var(--line);background:var(--surface-2)}.modal-ft .reset{font-size:14px;color:var(--ink-2);cursor:pointer}.modal-ft .reset.del{color:var(--red);background:var(--red-bg);font-size:13px;font-weight:600;padding:8px 12px;border-radius:var(--pill)}.modal-ft .reset.del:hover{background:var(--red-line)}.modal-ft .spacer{flex:1}.db-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px;gap:16px;flex-wrap:wrap}.db-head h1{font-size:24px;font-weight:700;letter-spacing:-.02em}.db-head p{color:var(--ink-2);font-size:13px;margin-top:4px}.db-tools{display:flex;align-items:center;gap:8px}.metrics.db-kpi{grid-template-columns:repeat(4,1fr)}.db-row{display:grid;gap:16px;margin-bottom:16px}.db-row.r-2{grid-template-columns:1.5fr 1fr}.db-row.r-3{grid-template-columns:repeat(3,1fr)}.db-row.r-ops{grid-template-columns:1.4fr 1fr}.db-row.r-auto{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.db-row.r-auto-sm{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.card.tall{display:flex;flex-direction:column}.cost-flag{font-size:11px;color:var(--amber);background:var(--amber-bg);padding:2px 8px;border-radius:var(--pill);font-weight:500;margin-left:8px}.seg-mini{display:flex;gap:2px;background:var(--surface-2);border-radius:var(--pill);padding:2px;font-size:12px;margin-left:auto;font-weight:400}.seg-mini span{padding:8px 12px;color:var(--ink-2);cursor:pointer;border-radius:var(--pill)}.seg-mini span.on{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:var(--shadow)}.chart-legend{display:flex;gap:20px;margin-bottom:8px;font-size:12px;color:var(--ink-2)}.chart-legend i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:8px;vertical-align:middle}.lc{width:100%;height:auto;display:block}.axis-y,.axis-x{font-size:11px;fill:var(--muted)}.db-row>.card{min-width:0}.donut-wrap{display:flex;align-items:center;gap:16px;margin-top:4px}.donut-svg{width:140px;height:140px;flex:none}.donut-c{font-size:11px;fill:var(--muted)}.donut-v{font-size:16px;font-weight:700;fill:var(--ink);font-family:var(--display)}.donut-legend{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.dl-row{display:flex;align-items:center;gap:8px;font-size:13px;min-width:0}.dl-row i{width:9px;height:9px;border-radius:3px;flex:none}.dl-nm{color:var(--ink-2);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-pct{margin-left:auto;font-weight:600;font-family:var(--display);color:var(--ink)}.dl-amt{color:var(--muted);font-size:12px;min-width:48px;text-align:right}.rank{display:flex;flex-direction:column;gap:16px;margin-top:2px}.rk-top{display:flex;align-items:center;gap:8px;font-size:13px}.rk-nm{color:var(--ink);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rk-sub{color:var(--muted);font-size:12px;margin-left:auto;white-space:nowrap}.rk-amt{font-family:var(--display);font-weight:700;font-size:13px;white-space:nowrap;color:var(--ink)}.rk-bar{height:7px;background:var(--surface-2);border-radius:var(--pill);overflow:hidden;margin-top:8px}.rk-bar i{display:block;height:100%;background:var(--brand);border-radius:var(--pill)}.badge-amt{font-size:11px;padding:2px 8px;border-radius:var(--pill);font-weight:600;white-space:nowrap}.ba-ok{color:var(--green);background:var(--green-bg)}.ba-warn{color:var(--amber);background:var(--amber-bg)}.ba-mut{color:var(--ink-2);background:var(--paper-2)}.aging-bar{display:flex;height:14px;border-radius:var(--pill);overflow:hidden;margin:8px 0 16px}.aging-bar i{display:block;height:100%}.aging-legend{display:flex;flex-direction:column;gap:12px}.ag-row{display:flex;align-items:center;gap:8px;font-size:13px}.ag-row i{width:9px;height:9px;border-radius:3px;flex:none}.ag-nm{color:var(--ink-2)}.ag-amt{margin-left:auto;font-family:var(--display);font-weight:700;color:var(--ink)}.alerts{display:flex;flex-direction:column}.al{display:flex;align-items:center;gap:12px;padding:12px 2px;border-bottom:1px solid var(--line)}.al:last-child{border-bottom:0}.al-ic{width:30px;height:30px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;flex:none}.al-ic svg{width:15px;height:15px}.al-r{color:var(--red);background:var(--red-bg)}.al-a{color:var(--amber);background:var(--amber-bg)}.al-m{flex:1;min-width:0}.al-t{font-size:13px;font-weight:500;color:var(--ink)}.al-s{font-size:12px;color:var(--muted);margin-top:2px}.al-go{font-size:12px;color:var(--ink-2);font-weight:500;white-space:nowrap;cursor:pointer}.al-go:hover{color:var(--brand)}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:2px}.tile{background:var(--surface-2);border-radius:var(--r-sm);padding:12px}.tile .tl{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.tile .tl svg{width:13px;height:13px}.tile .tv{font-size:16px;font-weight:700;font-family:var(--display);margin-top:4px;letter-spacing:-.01em}.tile .tv small{font-size:12px;font-weight:500;color:var(--muted)}.tile .ts{font-size:11px;color:var(--ink-2);margin-top:4px}.db-tools{position:relative}.tfilter{position:relative;display:inline-flex}.datepop{padding:16px;width:296px;text-align:left}.datepop .dp-h{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:12px}.datepop .dp-quick{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.datepop .dp-quick span{font-size:12px;color:var(--ink-2);background:var(--surface-2);border-radius:var(--pill);padding:8px 12px;cursor:pointer}.datepop .dp-quick span:hover{background:var(--brand-tint);color:var(--brand)}.datepop .dp-range{display:flex;align-items:center;gap:8px;margin-bottom:16px}.datepop .dp-range input{flex:1;min-width:0;border:1px solid var(--line-2);border-radius:var(--r-sm);padding:8px;font-size:13px;color:var(--ink);font-family:var(--sans);background:var(--surface)}.datepop .dp-range input:focus{outline:none;border-color:var(--ink-2);box-shadow:var(--focus-ring-neutral)}.datepop .dp-ft{display:flex;justify-content:flex-end;align-items:center;gap:8px}.card.clk{cursor:pointer;transition:box-shadow .15s ease,transform .06s ease}.card.clk:hover{box-shadow:var(--shadow-pop)}.card.clk:active{transform:translateY(1px)}.m.clk{cursor:pointer;transition:box-shadow .15s ease}.m.clk:hover{box-shadow:var(--shadow-pop)}.tile.clk{cursor:pointer;transition:background .12s ease}.tile.clk:hover{background:var(--brand-tint)}.h .more{margin-left:auto;font-size:12px;color:var(--brand);font-weight:600;display:inline-flex;align-items:center;gap:2px;white-space:nowrap}.h .more svg{width:14px;height:14px}.h .ix-btn{margin-left:8px}.crumb-nav{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-bottom:16px}.crumb-nav .lk{color:var(--ink-2);cursor:pointer;display:inline-flex;align-items:center;gap:4px}.crumb-nav .lk:hover{color:var(--brand)}.crumb-nav b{color:var(--ink)}.crumb-nav svg{width:13px;height:13px}.anly-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.anly-tools .grow{flex:1}.srch{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--pill);padding:8px 12px;font-size:13px;color:var(--muted)}.srch svg{width:14px;height:14px}.ratiobar{display:flex;align-items:center;gap:8px}.rb-track{flex:1;height:8px;background:var(--paper-2);border-radius:var(--pill);overflow:hidden}.rb-fill{height:100%;background:var(--brand)}.rb-pct{font-size:12px;color:var(--muted);width:38px;text-align:right}.pct-cell{display:flex;align-items:center;gap:8px;min-width:130px}.pct-bar{flex:1;height:6px;background:var(--surface-2);border-radius:var(--pill);overflow:hidden}.pct-bar i{display:block;height:100%;background:var(--brand);border-radius:var(--pill)}.pct-num{font-size:12px;color:var(--ink-2);font-family:var(--display);min-width:34px;text-align:right}.otable td.rk-i{font-family:var(--display);font-weight:700;color:var(--muted)}.otable td.owe{color:var(--amber)}.gmflag{font-size:11px;color:var(--amber);background:var(--amber-bg);padding:2px 8px;border-radius:var(--pill);margin-left:4px}.lvl{font-size:11px;padding:2px 8px;border-radius:var(--pill);font-weight:600;white-space:nowrap}.lvl-vip{color:var(--purple);background:var(--purple-bg)}.lvl-prem{color:var(--brand);background:var(--brand-tint)}.lvl-norm,.lvl-new{color:var(--ink-2);background:var(--paper-2)}.lvl-black{color:var(--red);background:var(--red-bg)}.lvl-role{color:var(--brand-deep);background:var(--brand-tint)}.amt-owe{color:var(--amber)}.amt-over{color:var(--red)}.amt-pos{color:var(--green)}.amt-neg{color:var(--red)}.amt-zero{color:var(--muted)}.otable td.amt-pos{color:var(--green)}.otable td.amt-neg{color:var(--red)}.otable td.amt-owe{color:var(--amber)}.otable td.amt-over{color:var(--red)}.otable td.amt-zero{color:var(--muted)}.val.owe{color:var(--amber)}.val.over{color:var(--red)}.val.is-zero{color:var(--muted)}.unrec,.warn-t{font-size:11px;color:var(--amber);background:var(--amber-bg);padding:2px 8px;border-radius:var(--pill);font-weight:600;margin-right:8px;vertical-align:1px}.set-wrap{display:grid;grid-template-columns:208px 1fr;gap:20px;align-items:start}.set-nav{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);padding:8px;display:flex;flex-direction:column;gap:2px}.set-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.set-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--pill);border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);font-size:13px;cursor:pointer;transition:background .13s,color .13s,border-color .13s}.set-tab svg{width:15px;height:15px;opacity:.7}.set-tab:hover{border-color:var(--muted);color:var(--ink)}.set-tab.on{background:var(--brand-tint);border-color:var(--brand-line);color:var(--brand-deep);font-weight:600}.set-tab.on svg{color:var(--brand);opacity:1}.perm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.perm{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.print-wrap{display:grid;grid-template-columns:1fr 270px;gap:24px;align-items:start}.print-preview{position:sticky;top:8px}.pp-label{font-size:12px;color:var(--muted);margin-bottom:8px;font-weight:500}.ticket{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-sm);box-shadow:var(--shadow);padding:20px 16px;font-family:Courier New,ui-monospace,monospace;font-size:12px;color:var(--ink);line-height:1.65}.ticket .tk-h{text-align:center;font-weight:700;font-size:14px;letter-spacing:1px}.ticket .tk-sub{text-align:center;color:var(--ink-2);font-size:11px;margin-top:2px}.ticket .tk-div{border-top:1px dashed var(--line-2);margin:8px 0}.ticket .tk-row{display:flex;justify-content:space-between;gap:8px}.ticket .tk-it{margin:4px 0}.ticket .tk-it .sub{color:var(--ink-2)}.ticket .tk-tot{display:flex;justify-content:space-between;font-weight:700;font-size:13px}.ticket .tk-qr{display:flex;flex-direction:column;align-items:center;margin:12px 0 4px}.ticket .tk-qr svg{width:66px;height:66px}.ticket .tk-foot{text-align:center;color:var(--ink-2);font-size:11px;margin-top:8px}.set-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--r-sm);color:var(--ink-2);font-size:14px;cursor:pointer}.set-item svg{width:16px;height:16px;opacity:.7}.set-item:hover{background:var(--surface-2)}.set-item.on{background:var(--brand-tint);color:var(--brand-deep);font-weight:600}.set-item.on svg{color:var(--brand);opacity:1}.set-panel{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);padding:24px;display:none}.set-panel.on{display:block}.set-h{font-size:16px;font-weight:700}.set-sub{font-size:13px;color:var(--muted);margin:4px 0 16px}.set-field{display:grid;grid-template-columns:230px 1fr;gap:16px;padding:16px 0;border-top:1px solid var(--line);align-items:center}.set-field.first{border-top:0}.set-fl{font-size:14px;font-weight:500;color:var(--ink)}.set-fl small{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:4px;line-height:1.4}.set-fi{display:flex;align-items:center;gap:8px}.set-fi input[type=text]{width:140px;border:1px solid var(--line-2);border-radius:var(--r-sm);padding:8px 12px;font-size:14px;color:var(--ink);font-family:var(--display)}.set-fi input:focus{outline:none;border-color:var(--ink-2);box-shadow:var(--focus-ring-neutral)}.set-fi .unit{font-size:13px;color:var(--ink-2)}.set-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.set-grp{display:flex;align-items:center;gap:8px;margin:24px 0 8px;font-size:14px;font-weight:600;color:var(--ink)}.set-grp small{font-weight:400;color:var(--muted);font-size:12px}.set-grp .btn{margin-left:auto}.set-inline{width:100%;border:none;background:transparent;font-family:var(--sans);font-size:14px;color:var(--ink);outline:none;padding:4px 8px;border-radius:var(--r-sm)}.set-inline:hover{background:var(--surface-2)}.set-inline:focus{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--brand-line)}.sw{display:inline-block;vertical-align:middle;width:40px;height:32px;position:relative;cursor:pointer;flex:none;background:none}.sw:before{content:"";position:absolute;top:4.5px;left:0;width:40px;height:23px;border-radius:var(--pill);background:var(--line-2);transition:background .15s}.sw.on:before{background:var(--brand)}.sw:after{content:"";position:absolute;top:6.5px;left:2px;width:19px;height:19px;border-radius:50%;background:var(--surface);transition:left .15s;box-shadow:var(--shadow-knob)}.sw.on:after{left:19px}.kv{display:grid;grid-template-columns:auto 1fr;gap:12px 20px;font-size:13px;margin-top:4px}.kv dt{color:var(--muted)}.kv dd{color:var(--ink);font-weight:500}.alias{display:inline-block;font-size:11px;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--pill);padding:2px 8px;margin:0 8px 8px 0}.doc-tot{display:flex;gap:32px;justify-content:flex-end;align-items:baseline;padding:16px 20px;border-top:2px solid var(--line);background:var(--surface-2);border-radius:0 0 var(--r) var(--r)}.doc-tot .dt-l{font-size:13px;color:var(--ink-2)}.doc-tot b{font-family:var(--display);font-weight:700;font-size:20px;margin-left:8px;color:var(--ink)}.pm{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--pill);padding:8px 16px;cursor:pointer}.pm.on{border-color:var(--brand);color:var(--brand);background:var(--brand-tint);font-weight:600}.cin{width:92px;border:1px solid var(--line-2);border-radius:var(--r-sm);padding:8px;font-size:14px;font-family:var(--display);text-align:right;color:var(--ink)}.cin:focus{outline:none;border-color:var(--ink-2);box-shadow:var(--focus-ring-neutral)}.acct-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.acct{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);padding:16px 16px 12px;display:flex;flex-direction:column;position:relative;border:1px solid var(--line)}.acct.cc{background:linear-gradient(180deg,var(--acct-cc-1),var(--acct-cc-2))}.acct-top{display:flex;align-items:flex-start;gap:12px}.acct-ic{width:38px;height:38px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--ink-2);flex:none}.acct-ic svg{width:19px;height:19px}.acct-nm{font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.acct-ty{font-size:12px;color:var(--muted);margin-top:2px}.acct-def{font-size:11px;font-weight:600;color:var(--brand);background:var(--brand-tint);padding:2px 8px;border-radius:var(--pill)}.acct-bal{font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:-.01em;margin:8px 0 2px;color:var(--ink)}.acct-bal small{font-size:13px;font-weight:600;color:var(--muted);margin-right:4px}.acct-meta{font-size:12px;color:var(--muted);min-height:17px}.acct-use{display:flex;align-items:center;gap:8px;margin-top:8px}.acct-use .pct-bar{flex:1}.acct-ops{display:flex;align-items:center;gap:4px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.acct-ops .grow{flex:1}.iact-txt{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 12px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);font-size:13px;font-weight:500;cursor:pointer;transition:background .13s,color .13s,border-color .13s}.iact-txt svg{width:15px;height:15px}.iact-txt.go:hover{background:var(--brand-tint);color:var(--brand);border-color:var(--brand-line)}.balform{display:flex;align-items:stretch;flex-wrap:wrap;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;margin-bottom:20px}.bf-cell{flex:1;min-width:96px;padding:12px 16px;display:flex;flex-direction:column;gap:4px;border-left:1px solid var(--line)}.bf-cell:first-child{border-left:0}.bf-cell .bf-l{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:4px}.bf-cell .bf-v{font-family:var(--display);font-weight:700;font-size:16px;color:var(--ink);letter-spacing:-.01em}.bf-cell.op{flex:none;min-width:0;justify-content:center;align-items:center;color:var(--muted);font-family:var(--display);font-size:20px;font-weight:600;padding:12px 8px}.bf-cell.res{background:var(--surface-2)}.bf-cell.res .bf-v{color:var(--ink)}.mo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.mo{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:12px 16px;display:flex;flex-direction:column;gap:8px}.mo-hd{display:flex;align-items:center;justify-content:space-between}.mo-mn{font-size:14px;font-weight:700}.mo-kv{font-size:12px;color:var(--ink-2);display:flex;justify-content:space-between}.mo-kv b{font-family:var(--display);font-weight:700;color:var(--ink)}.mo-ft{margin-top:4px;padding-top:8px;border-top:1px solid var(--line)}.mo.locked{background:var(--surface-2)}.lockbadge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--pill);display:inline-flex;align-items:center;gap:4px}.lockbadge svg{width:11px;height:11px}.lb-locked{color:var(--ink-2);background:var(--paper-2)}.lb-open{color:var(--green);background:var(--green-bg)}.ware-bar{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r);padding:8px 16px;margin-bottom:8px;box-shadow:var(--shadow)}.ware-bar .wb-t{font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.ware-bar .wb-t svg{width:16px;height:16px;color:var(--ink-2)}.ware-bar .wb-s{font-size:12px;color:var(--muted)}.swrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2)}.cbx{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-xs);border:1.5px solid var(--line-2);background:var(--surface);cursor:pointer;vertical-align:middle;transition:background .13s,border-color .13s}.cbx svg{width:14px;height:14px;color:var(--surface);opacity:0;transition:opacity .12s}.cbx:hover{border-color:var(--muted)}.cbx.on{background:var(--brand);border-color:var(--brand)}.cbx.on:hover{border-color:var(--brand-deep)}.cbx.on svg{opacity:1}.steps{display:flex;align-items:center}.doc-steps{margin-bottom:8px}.stp{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.stp .sd{width:21px;height:21px;border-radius:50%;border:1.5px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:11px;font-weight:700;color:var(--muted);flex:none}.stp .sd svg{width:12px;height:12px}.stp.done{color:var(--ink-2)}.stp.done .sd{background:var(--brand);border-color:var(--brand);color:var(--surface)}.stp.cur{color:var(--ink);font-weight:600}.stp.cur .sd{border-color:var(--brand);color:var(--brand)}.stp-line{width:34px;height:1.5px;background:var(--line-2);margin:0 8px}.stp-line.done{background:var(--brand)}.dseg{display:inline-flex;gap:2px;background:var(--surface-2);border-radius:var(--pill);padding:2px}.dseg span{padding:8px 12px;font-size:12px;color:var(--ink-2);cursor:pointer;border-radius:var(--pill);white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.dseg span svg{width:12px;height:12px}.dseg span.on{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:var(--shadow)}.dmeta{font-size:13px;color:var(--ink-2);display:inline-flex;align-items:center;gap:8px}.direct-note{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r);padding:12px 16px;margin-bottom:16px;box-shadow:var(--shadow)}.direct-note svg{width:15px;height:15px;color:var(--brand);flex:none}.direct-note b{font-family:var(--display)}.finance-page-head,.report-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;background:var(--surface);margin:-24px -28px 20px;padding:16px 28px;border-bottom:1px solid var(--line)}.finance-page-head h1,.report-page-head h1{font-size:24px;font-weight:700;letter-spacing:-.02em}.finance-page-head p,.report-page-head p{color:var(--ink-2);font-size:14px;margin-top:4px}.finance-head-actions,.report-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.finance-head-actions .btn,.report-head-actions .btn{background:var(--surface);color:var(--ink);border-color:var(--line-2)}.finance-section-title,.report-section-title{display:flex;align-items:center;gap:8px;margin-bottom:12px;min-height:28px}.finance-section-title h2,.report-section-title h2{font-size:16px;font-weight:700}.finance-section-title>span,.report-section-title>span{margin-left:auto;color:var(--muted);font-size:12px}.finance-section-title>button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;margin-left:auto;color:var(--brand);font-size:13px;font-weight:600;cursor:pointer;padding:8px;border-radius:var(--r-sm)}.finance-section-title>button:hover{background:var(--brand-tint)}.finance-today-card{padding:16px 20px;margin-bottom:16px}.finance-section-title>.finance-task-badge{margin-left:auto;padding:4px 12px;border:1px solid var(--brand-line);border-radius:var(--pill);background:var(--brand-tint);color:var(--brand-deep);font-size:12px;font-weight:650}.finance-section-title>.finance-task-badge.clear{background:var(--green-bg);border-color:var(--green-line);color:var(--green)}.finance-action-list{display:flex;flex-direction:column}.finance-action-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,220px) 128px;align-items:center;gap:20px;min-height:58px;border-top:1px solid var(--line)}.finance-action-line:first-child{border-top:0}.finance-action-copy{display:flex;flex-direction:column;min-width:0}.finance-action-copy b{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-action-copy span{font-size:12px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-action-line>strong{text-align:right;font-size:20px;color:var(--ink)}.finance-action-line.danger>strong{color:var(--red)}.finance-action-line.warn>strong{color:var(--amber)}.finance-action-line.ok>strong{color:var(--green)}.finance-action-line>button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--brand-line);background:var(--brand-tint);color:var(--brand-deep);border-radius:var(--r-sm);height:36px;font:inherit;font-size:13px;font-weight:650;cursor:pointer;transition:background .15s,border-color .15s,transform .1s}.finance-action-line>button:hover{background:var(--brand-tint-hover);border-color:var(--brand-line-hover)}.finance-action-line>button:active{transform:scale(.98)}.finance-content-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(330px,1fr);gap:16px;align-items:stretch}.finance-main-column{display:flex;flex-direction:column;gap:16px;min-width:0}.finance-funds-card,.finance-business-card,.finance-ledger-card{padding:16px 20px}.finance-fund-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.finance-fund-tile{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--surface-2);border-radius:var(--r-sm);display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:126px;padding:12px 16px;text-align:left;color:var(--ink);font:inherit}button.finance-fund-tile{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .1s}button.finance-fund-tile:hover{border-color:var(--line-2);box-shadow:var(--shadow)}button.finance-fund-tile:active{transform:scale(.99)}.finance-fund-tile.available{background:var(--green-bg);border-color:transparent}.finance-fund-tile.credit{background:var(--amber-bg);border-color:transparent}.finance-fund-tile.payable{background:var(--surface)}.finance-fund-tile.net{background:var(--paper-2);border-color:transparent}.finance-fund-tile>span{font-size:13px;color:var(--ink-2)}.finance-fund-tile>strong{font-size:20px;margin-top:4px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.finance-fund-tile.available>strong{color:var(--green)}.finance-fund-tile.credit>strong{color:var(--amber)}.finance-fund-tile.payable>strong{color:var(--amber)}.finance-fund-tile>small{font-size:12px;color:var(--muted);margin-top:auto;line-height:1.45}.finance-business-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:8px}.finance-business-grid>div{display:flex;flex-direction:column;background:var(--surface-2);border-radius:var(--r-sm);padding:12px 16px;min-width:0}.finance-business-grid span{font-size:12px;color:var(--ink-2)}.finance-business-grid strong{font-size:20px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-chart-box{background:var(--surface-2);border-radius:var(--r-sm);padding:8px 12px 2px}.finance-chart-label{font-size:12px;color:var(--ink-2);margin:0 0 -2px 2px}.finance-ledger-card{min-width:0}.finance-ledger-list{display:flex;flex-direction:column}.finance-ledger-line{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-top:1px solid var(--line);background:transparent;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:76px;padding:8px 0;text-align:left;color:var(--ink);font:inherit;cursor:pointer}.finance-ledger-line:first-child{border-top:0}.finance-ledger-line:hover{background:var(--surface-2)}.finance-ledger-line time{color:var(--muted);font-size:12px}.finance-ledger-line>span{display:flex;flex-direction:column;min-width:0}.finance-ledger-line b{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-ledger-line small{font-size:12px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-ledger-line strong{font-size:13px;white-space:nowrap}.report-empty{color:var(--muted);font-size:13px;padding:28px 8px;text-align:center}.metrics.rep-kpi{grid-template-columns:repeat(5,minmax(0,1fr))}button.m{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;font:inherit;color:inherit;text-align:left;width:100%;display:block}.report-middle-grid,.report-bottom-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.3fr);gap:16px;margin-bottom:16px;align-items:stretch}.report-bottom-grid{margin-bottom:0}.report-trend-card,.report-aging-card,.report-composition-card,.report-parties-card{padding:16px 20px;min-width:0}.report-aging-grid,.report-party-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.report-aging-panel{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:var(--surface-2);border-radius:var(--r-sm);padding:12px 16px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;min-width:0}.report-aging-panel:hover{background:var(--paper-2)}.report-aging-panel h3,.report-ranking h3{font-size:13px;font-weight:650;margin-bottom:12px}.report-aging-list{display:flex;flex-direction:column;gap:16px}.report-aging-row{display:grid;grid-template-columns:72px minmax(35px,1fr) 92px;align-items:center;gap:8px}.report-aging-row>span{font-size:12px;color:var(--muted);white-space:nowrap}.report-aging-row>i{display:block;height:7px;background:var(--track-bg);border-radius:var(--pill);overflow:hidden}.report-aging-row>i>b{display:block;height:100%;border-radius:inherit;min-width:2px}.report-aging-row>strong{font-size:12px;text-align:right;white-space:nowrap;font-weight:600}.report-aging-panel>small{display:block;color:var(--muted);font-size:11px;margin-top:12px;line-height:1.45}.report-composition-list{display:flex;flex-direction:column;gap:8px}.report-composition-list>button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;display:grid;grid-template-columns:22px minmax(90px,130px) minmax(80px,1fr) 42px;align-items:center;gap:8px;min-height:32px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:var(--r-sm);padding:4px 8px}.report-composition-list>button:hover{background:var(--surface-2)}.report-composition-list span{font-size:12px;color:var(--ink-2)}.report-composition-list b{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-composition-list i{display:block;height:8px;background:var(--track-bg);border-radius:var(--pill);overflow:hidden}.report-composition-list i em{display:block;height:100%;background:var(--brand);border-radius:inherit}.report-composition-list strong{font-size:12px;text-align:right;color:var(--ink-2);font-weight:500}.report-ranking{background:var(--surface-2);border-radius:var(--r-sm);padding:12px;min-width:0}.report-ranking-list{display:flex;flex-direction:column;gap:8px}.report-ranking-list>button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:35px;border-radius:var(--r-sm);padding:4px 8px;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.report-ranking-list>button:hover{background:var(--surface)}.report-ranking-list>button.top{background:var(--brand-tint)}.report-ranking-list span{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface);color:var(--ink-2);font-size:11px}.report-ranking-list>button.top span{background:var(--brand);color:var(--surface)}.report-ranking-list b{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-ranking-list strong{font-size:12px;white-space:nowrap;font-weight:650}@media(max-width:1200px){.finance-content-grid,.report-middle-grid,.report-bottom-grid{grid-template-columns:1fr}.metrics.rep-kpi{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1040px){.canvas{padding:24px 16px 48px}.screen{flex-direction:column}.sidebar{width:auto;flex-direction:row;align-items:center;gap:4px;border-right:0;border-bottom:1px solid var(--line);padding:8px 12px;overflow-x:auto}.brand{padding:4px 8px 4px 4px;flex:none}.side-cta{margin-bottom:0;padding:8px 12px;flex:none;font-size:13px;white-space:nowrap}.side-nav{flex-direction:row;gap:2px;flex:none}.side-glab{display:none}.side-item{padding:8px;white-space:nowrap}.side-item.on{box-shadow:none;background:var(--paper-2)}.side-collapse{display:none}.sidebar.collapsed{width:auto;padding:8px 12px}.sidebar.collapsed .brand{font-size:16px}.sidebar.collapsed .side-item{font-size:14px;padding:8px;gap:12px}.sidebar.collapsed .side-item svg{width:18px;height:18px}.topbar{padding:8px 16px}.search{max-width:none}.greet{flex-direction:column;align-items:flex-start;gap:12px}.metrics{grid-template-columns:1fr}.metrics.db-kpi{grid-template-columns:1fr 1fr}.db-row.r-2,.db-row.r-3,.db-row.r-ops{grid-template-columns:1fr}.work-row{grid-template-columns:1fr;height:auto;margin-bottom:20px}.work-row .ta{flex:none;min-height:200px}.work-row .ta-wrap{flex:none}.hero-bar .grow{display:none}.hero-bar{gap:8px}.btn-primary.big{width:100%;justify-content:center;margin-top:4px}.crumb{flex-wrap:wrap;gap:8px}.life{margin-left:0}.dochdr{flex-direction:column}.fields{grid-template-columns:1fr}.recap{width:auto;border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:16px;margin-top:8px}.recap .legend{flex-direction:row;gap:20px}.undr{flex-wrap:wrap;gap:8px}.fees{flex-wrap:wrap}.actions{flex-wrap:wrap;gap:8px}.actions .gh{order:5;width:100%;justify-content:center;padding-top:8px}.actions .save{flex:1;min-width:150px}.search-wrap{max-width:none}.doctabs{overflow-x:auto;padding:8px 12px 0}.sectabs{overflow-x:auto}.ph-actions{flex-wrap:wrap}.finance-page-head,.report-page-head{margin:-24px -28px 20px;align-items:flex-start;flex-direction:column}.finance-head-actions,.report-head-actions{width:100%}.finance-fund-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.finance-page-head,.report-page-head{margin:-24px -16px 16px;padding:16px}.finance-head-actions .btn{flex:1;justify-content:center}.report-head-actions{align-items:stretch;flex-direction:column}.metrics.rep-kpi,.finance-business-grid{grid-template-columns:1fr 1fr}.finance-action-line{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:8px 0}.finance-action-line>strong{text-align:right}.finance-action-line>button{grid-column:1 / -1;width:100%}.finance-fund-grid,.report-aging-grid,.report-party-grid{grid-template-columns:1fr}.finance-fund-tile{min-height:108px}.report-composition-list>button{grid-template-columns:20px minmax(70px,100px) minmax(60px,1fr) 38px}}@media(max-width:520px){.metrics.rep-kpi,.finance-business-grid{grid-template-columns:1fr}}.btn,.chip,.util,.fchip{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,color .16s ease,background .16s ease}.btn svg,.chip svg,.util svg{transition:color .16s ease,opacity .16s ease}.btn:hover,.chip:hover,.util:hover,.fchip:hover{transform:translateY(-1px);box-shadow:var(--shadow-hover)}.btn-primary:hover{box-shadow:var(--shadow-brand-hover)}.btn.danger-btn:hover{box-shadow:var(--shadow-danger-hover)}.btn:active,.chip:active,.util:active,.fchip:active{transform:translateY(0) scale(.985);box-shadow:var(--shadow-active)}.btn:disabled:hover,.btn.disabled:hover{transform:none;box-shadow:none}.chip:hover,.util:hover{border-color:var(--brand-line);color:var(--brand)}.chip:hover svg,.util:hover svg{color:var(--brand);opacity:1}.fchip:hover{border-color:var(--brand-line);color:var(--ink)}.st,.greet .seg span,.seg-mini span{transition:color .15s ease,background .15s ease,box-shadow .15s ease}.st:not(.on):hover,.greet .seg span:not(.on):hover,.seg-mini span:not(.on):hover{color:var(--ink);background:var(--tint-ink-hover)}.pg{transition:border-color .15s ease,background .15s ease,color .15s ease,transform .1s ease}.pg:not(.dots):active{transform:scale(.94)}.iact:active{transform:scale(.88)}.side-item{transition:background .15s ease,color .15s ease,box-shadow .15s ease}.crumb-nav .lk{transition:color .15s ease}.cta{cursor:pointer;transition:opacity .15s ease}.cta:hover{opacity:.65}.modal-accessible button.modal-x,.modal-accessible button.modal-exp{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font-family:inherit;padding:var(--sp-4);min-width:var(--lay-32);min-height:var(--lay-32);align-items:center;justify-content:center}.modal-accessible button.reset{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font-family:inherit;padding:var(--sp-4) var(--sp-8);min-height:var(--lay-32)}.settings-page{display:grid;grid-template-columns:180px minmax(0,1fr);gap:var(--sp-20);align-items:start}.settings-tabs{flex-direction:column;flex-wrap:nowrap;gap:var(--sp-2)}.settings-tabs .set-tab{font-family:inherit;font-size:var(--fs-14);text-align:left;gap:var(--sp-8);padding:var(--sp-8) var(--sp-12);border-radius:var(--r-sm)}.settings-panel{min-width:0;min-height:320px}.settings-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0}.settings-customer{margin-top:var(--sp-16);max-width:360px;display:grid;gap:var(--sp-8);font-size:var(--fs-14)}.settings-customer .finput{width:100%}.settings-help{color:var(--muted);font-size:var(--fs-13);line-height:1.6;margin:0}.settings-customer-status{color:var(--ink-2);font-size:var(--fs-13)}.settings-customer-options{list-style:none;margin:0;padding:var(--sp-4);border:1px solid var(--line-2);border-radius:var(--r-sm);max-height:240px;overflow:auto}.settings-customer-options li{padding:var(--sp-8);cursor:pointer;display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-8)}.settings-customer-options li.is-active{background:var(--brand-tint)}.settings-customer-options small{color:var(--muted);font-size:var(--fs-12)}.settings-binding,.settings-binding .mf{min-width:0}.settings-binding-scroll{max-width:100%;overflow-x:auto;margin-top:var(--sp-16)}.settings-binding-table{min-width:880px;table-layout:fixed}.settings-binding-table th,.settings-binding-table td{white-space:nowrap}.settings-binding-table th:nth-child(1){width:160px}.settings-binding-table th:nth-child(2){width:128px;min-width:128px}.settings-binding-table th:nth-child(3){width:88px}.settings-binding-table th:nth-child(4){width:112px}.settings-binding-table th:nth-child(5){width:160px}.settings-binding-table th:last-child{width:104px;min-width:104px}.settings-binding-table button{white-space:nowrap}.settings-binding-id,.settings-binding-name,.settings-binding-note{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.settings-capability-group{margin-top:var(--sp-12)}.settings-capability-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-16)}.settings-technical-details{margin-top:var(--sp-16)}.settings-technical-details summary{cursor:pointer;min-height:var(--lay-32);padding:var(--sp-4)}.settings-technical-details summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media(max-width:960px){.settings-binding .mform{grid-template-columns:minmax(0,1fr)}.settings-binding .finput{width:100%;min-width:0}}@media(max-width:600px){.settings-page,.settings-capability-columns{grid-template-columns:minmax(0,1fr)}}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--paper)}.login-card{width:380px;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);padding:36px 32px 32px;display:flex;flex-direction:column;gap:12px}.login-logo{display:flex;justify-content:center;margin-bottom:2px}.login-logo .logo{width:48px;height:48px;border-radius:var(--r)}.login-logo .logo svg{width:26px;height:26px}.login-title{text-align:center;font-family:var(--display);font-weight:700;font-size:20px;color:var(--ink)}.login-sub{text-align:center;font-size:13px;color:var(--ink-2);margin-bottom:8px}.login-field{display:flex;align-items:center;gap:8px;border:1px solid var(--line-2);border-radius:var(--r);padding:12px 16px;background:var(--surface-2)}.login-field svg{width:17px;height:17px;color:var(--muted);flex:none}.login-field input{flex:1;min-width:0;border:none;background:transparent;outline:none;font-size:14px;color:var(--ink);font-family:var(--sans)}.login-field:focus-within{border-color:var(--brand);box-shadow:var(--focus-ring)}.login-err{color:var(--red);font-size:13px;text-align:center;margin:-2px 0 2px}.login-btn{width:100%;justify-content:center;height:44px;font-size:16px;margin-top:4px}.canvas{max-width:none;margin:0;padding:0;height:100vh;overflow:hidden}.screen,.screen.active{height:100vh;border-radius:0;box-shadow:none}.cust-in{border:1px solid var(--line-2);background:var(--surface);border-radius:var(--pill);outline:none;font-family:var(--sans);font-size:13px;color:var(--ink);padding:8px 12px;min-width:180px;transition:border-color .15s ease,box-shadow .15s ease}.cust-in::-moz-placeholder{color:var(--muted)}.cust-in::placeholder{color:var(--muted)}.cust-in:focus{border-color:var(--brand);box-shadow:var(--focus-ring)}.oact{gap:8px}.oact .iact.danger:not(:first-child),.oact .iact.warn:not(:first-child){margin-left:0}.ph-actions .srch,.ph-actions .chip,.ph-actions .btn,.db-tools .srch,.db-tools .chip,.db-tools .btn{height:38px;box-sizing:border-box}.modal .otable{min-width:0}.oact .iact-txt{height:32px;padding:0 8px}.oact .iact-txt.primary{color:var(--brand);border-color:var(--brand-line);font-weight:600}.oact .iact-txt.primary:hover{background:var(--brand-tint);color:var(--brand);border-color:var(--brand-line)}.v2-tabbar{display:flex;align-items:center;gap:4px;height:40px;padding:0 8px;background:var(--surface);border-bottom:1px solid var(--line);overflow-x:auto;overflow-y:hidden;flex:none}.v2-tabbar::-webkit-scrollbar{height:6px}.v2-tabbar::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:3px}.v2-tab{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 8px 0 12px;border:1px solid transparent;border-radius:var(--r-sm);font-size:13px;color:var(--ink-2);cursor:pointer;white-space:nowrap;flex:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .14s ease,color .14s ease,border-color .14s ease}.v2-tab:hover{background:var(--surface-2)}.v2-tab.on{background:var(--brand-tint);color:var(--brand-deep);border-color:var(--brand-line);font-weight:600}.v2-tab.on svg{color:var(--brand);opacity:1}.v2-tab svg{width:14px;height:14px;opacity:.8;flex:none}.v2-tab-label{max-width:160px;overflow:hidden;text-overflow:ellipsis}.v2-tab .dirtydot{width:6px;height:6px;border-radius:50%;background:var(--amber);flex:none}.v2-tab-x{display:inline-flex;width:32px;height:32px;border-radius:var(--radius-xs);align-items:center;justify-content:center;color:var(--muted)}.v2-tab-x:hover{background:var(--line-2);color:var(--ink)}.v2-tab-x svg{width:10px;height:10px;opacity:1}.v2-tab-more{flex:none;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-left:2px;border:none;background:transparent;border-radius:var(--r-sm);color:var(--muted);cursor:pointer}.v2-tab-more:hover{background:var(--surface-2);color:var(--ink)}.v2-tab-more svg{width:14px;height:14px}.v2-tabmenu-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2-tabmenu-x{flex:none;display:inline-flex;width:32px;height:32px;border-radius:var(--radius-xs);align-items:center;justify-content:center;color:var(--muted)}.v2-tabmenu-x:hover{background:var(--line-2);color:var(--ink)}.v2-tabmenu-x svg{width:10px;height:10px;opacity:1}.body-tabs{flex:1;min-height:0;position:relative;background:var(--paper)}.tab-panel{position:absolute;inset:0;overflow-y:auto;padding:24px 28px 32px}.sales-list-scroll{min-width:0;max-width:100%;overflow:auto}.sales-list-table th:nth-child(2),.sales-list-table td:nth-child(2){min-width:128px;white-space:nowrap}.sales-list-table th:nth-child(3),.sales-list-table td:nth-child(3){min-width:128px;white-space:nowrap}.sales-list-table th:last-child,.sales-list-table td:last-child{min-width:240px;white-space:nowrap}.sales-list-table button{flex-shrink:0;white-space:nowrap}.sales-discount{display:block;color:var(--ink-2);font-size:var(--fs-12);font-weight:400}.confirm-quantity-error{display:block;margin-top:var(--sp-4);color:var(--red);font-size:var(--fs-12);white-space:nowrap}.confirm-quantity-pending{color:var(--red);font-size:var(--fs-14)}:root{--app-primary: #2563EB;--app-primary-rgb: 37, 99, 235;--app-danger: #DC2626}.template-preview{background:#fff;border:none;color:#111;position:relative}.preview-element{position:relative;transition:all .2s ease;border-radius:4px}.preview-element.editable{cursor:pointer}.preview-element.editable:hover{background-color:rgba(var(--app-primary-rgb),.05);box-shadow:0 0 0 1px rgba(var(--app-primary-rgb),.2)}.preview-element.selected{outline:2px solid var(--app-primary);outline-offset:3px;background-color:rgba(var(--app-primary-rgb),.08);animation:selectPulse .3s ease}@keyframes selectPulse{0%{outline-offset:0;outline-color:rgba(var(--app-primary-rgb),.5)}50%{outline-offset:4px;outline-color:var(--app-primary)}to{outline-offset:3px;outline-color:var(--app-primary)}}.preview-title{text-align:center;font-weight:700;color:#111;letter-spacing:3px;padding:4px 8px;border-radius:4px}.preview-subtitle{text-align:center;color:#666;padding:4px 8px;border-radius:4px}.preview-fields{padding:8px;border-radius:4px}.preview-field-row{display:flex}.preview-field{padding:4px 8px;border-radius:4px;transition:all .15s ease}.preview-field.editable:hover,.preview-element.editable .preview-field:hover{background-color:rgba(var(--app-primary-rgb),.08)}.preview-field.selected{outline:2px solid var(--app-primary);outline-offset:1px;background-color:rgba(var(--app-primary-rgb),.1)}.preview-field-label{font-weight:700;color:#111}.preview-field-value{color:#333}.preview-table-wrapper{padding:4px;border-radius:4px}.preview-table{width:100%;border-collapse:collapse;color:#111;table-layout:fixed}.preview-table th,.preview-table td{border:1px solid #000;padding:8px;white-space:normal;word-break:normal;overflow-wrap:normal}.preview-table th{font-weight:700}.preview-column{transition:all .15s ease}.preview-element.editable .preview-column:hover{background-color:rgba(var(--app-primary-rgb),.12)!important}.preview-column.selected{outline:2px solid var(--app-primary);outline-offset:-2px;background-color:rgba(var(--app-primary-rgb),.15)!important}.column-resizer{position:absolute;top:0;right:-3px;width:8px;height:100%;cursor:col-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.column-resizer:after{content:"";position:absolute;top:0;right:3px;width:2px;height:100%;background:transparent;transition:background .15s ease}.preview-column:hover .column-resizer:after{background:rgba(var(--app-primary-rgb),.35)}body.col-resize-active,body.col-resize-active *{cursor:col-resize!important}.preview-summary-row td{font-weight:700}.preview-summary-spacer{background:#fff}.preview-summary-label-cell{text-align:center;transition:all .15s ease;white-space:nowrap;word-break:keep-all;overflow-wrap:normal}.preview-summary-label-cell.editable{cursor:pointer}.preview-summary-label-cell.editable:hover{background-color:rgba(var(--app-primary-rgb),.08)}.preview-summary-label-cell.selected{outline:2px solid var(--app-primary);outline-offset:-2px;background-color:rgba(var(--app-primary-rgb),.12)}.preview-summary-label{font-weight:700;display:inline-block;white-space:nowrap}.preview-summary-value-cell{text-align:center;white-space:nowrap;word-break:keep-all;overflow-wrap:normal}.preview-summary-value,.preview-summary-value-inline{color:#d32f2f;font-weight:700}.preview-summary-value-inline{margin-left:12px}.preview-footer{padding:8px;border-radius:4px}.preview-contact,.preview-note{color:#111;padding:4px 8px;border-radius:4px;transition:all .15s ease}.preview-contact:hover,.preview-note:hover{background-color:rgba(var(--app-primary-rgb),.08)}.preview-contact.selected,.preview-note.selected{outline:2px solid var(--app-primary);outline-offset:1px}.inline-editor{border:2px solid var(--app-primary);border-radius:4px;background:#fff;padding:4px 8px;outline:none;font-family:inherit;box-shadow:0 4px 12px rgba(var(--app-primary-rgb),.25);transition:all .2s ease;animation:editorAppear .2s ease}@keyframes editorAppear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.inline-editor:focus{border-color:#3f806f;box-shadow:0 4px 16px rgba(var(--app-primary-rgb),.35)}.inline-editor-title{width:100%;text-align:center;font-weight:700;letter-spacing:3px}.inline-editor-subtitle{width:100%;text-align:center}.inline-editor-field{font-weight:700;min-width:60px;max-width:150px}.inline-editor-column{font-weight:700;background:#fff}.inline-editor-amount{font-weight:700;min-width:80px}.inline-editor-textarea{width:100%;min-height:40px;resize:vertical;line-height:1.5}.preview-element.editable.selected:after{content:"双击编辑";position:absolute;top:-22px;right:0;font-size:11px;color:var(--app-primary);background:linear-gradient(135deg,#edf6f1,#cfe2d8);padding:3px 8px;border-radius:4px;opacity:0;transition:all .2s ease;pointer-events:none;box-shadow:0 2px 6px rgba(var(--app-primary-rgb),.15);transform:translateY(4px)}.preview-element.editable.selected:hover:after{opacity:1;transform:translateY(0)}@media print{.template-preview{border:none;box-shadow:none}.preview-element.selected,.preview-field.selected,.preview-column.selected,.preview-amount.selected,.preview-contact.selected,.preview-note.selected{outline:none;background-color:transparent}.preview-element:hover,.preview-field:hover,.preview-column:hover{background-color:transparent}.inline-editor{display:none}.preview-element.editable.selected:after{display:none}}.pp-wrap{display:flex;flex-direction:column;height:100%;min-height:0}.pp-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 2px 14px}.pp-toolbar .pp-title{font-size:15px;font-weight:600;margin-right:4px}.pp-toolbar .spacer{flex:1}.pp-toolbar .chip.on{background:var(--brand);color:#fff;border-color:var(--brand)}.pp-stage{flex:1;min-height:0;overflow:auto;background:var(--paper-2);border-radius:10px;padding:24px;display:flex;justify-content:center;align-items:flex-start}.pp-scale{transform-origin:top center}.pp-sheet{background:#fff;box-shadow:0 6px 24px #0f172a2e;border-radius:2px}.pp-sheet.tweaking{outline:2px dashed var(--brand);outline-offset:6px}.pp-voidmark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;font-size:80px;font-weight:800;color:#dc26262e;transform:rotate(-18deg);letter-spacing:12px}.pp-hint{font-size:12.5px;color:var(--muted);padding:0 2px 8px}.pp-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:14px}.pd-body{flex:1;min-height:0;display:flex;gap:16px}.pd-left{flex:1;min-width:0;display:flex;flex-direction:column}.pd-panel{width:320px;flex-shrink:0;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px}.pd-sec{margin-bottom:18px}.pd-sec>.pd-sec-h{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--line)}.pd-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.pd-row>label{width:84px;flex-shrink:0;font-size:12.5px;color:var(--muted)}.pd-row .finput{flex:1;min-width:0}.pd-seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.pd-seg>span{padding:5px 12px;font-size:12.5px;cursor:pointer;background:#fff;border-right:1px solid var(--line)}.pd-seg>span:last-child{border-right:none}.pd-seg>span.on{background:var(--brand);color:#fff}.pd-cols{display:flex;flex-direction:column;gap:2px}.pd-col{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:6px;font-size:13px}.pd-col:hover{background:var(--paper-2)}.pd-col input[type=checkbox]{width:15px;height:15px}.pd-col .pd-col-name{flex:1}.pd-col .pd-ord{cursor:pointer;color:var(--muted);padding:0 3px}.pd-col .pd-ord:hover{color:var(--brand)}.pd-tpl{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;margin-bottom:8px;cursor:pointer}.pd-tpl.on{border-color:var(--brand);background:var(--brand-tint)}.pd-tpl .pd-tpl-name{flex:1;font-size:13px}.pd-tpl .pd-star{font-size:12px;color:var(--amber)}@media(max-width:1040px){.pd-body{flex-direction:column}.pd-panel{width:auto;max-height:320px}}.toast.toast-actionable{pointer-events:auto}.toast-action{min-height:var(--lay-32);padding:var(--sp-4) var(--sp-12);border:0;border-radius:var(--radius-pill);background:var(--surface);color:var(--brand);font:inherit;white-space:nowrap;cursor:pointer}
