@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink: #161d4a;--ink-2: #252d66;--text: #1b2145;--muted: #667099;--faint: #98a0c0;--line: #e3e7f2;--paper: #f3f5fb;--surface: #ffffff;--brand: #3050e0;--brand-dark: #2440c4;--brand-soft: #eaeeff;--gold: #f2a20c;--gold-soft: #fff3d6;--green: #17936a;--green-soft: #e1f6ed;--red: #d23f4b;--red-soft: #fde8ea;--violet: #7a4de0;--violet-soft: #efe8ff;--teal: #0e9aa8;--coral: #e8663c;--pink: #d6468f;--grey-soft: #eef0f7;--r-lg: 18px;--r: 12px;--r-sm: 8px;--sh-1: 0 1px 0 rgba(22, 29, 74, .04), 0 1px 3px rgba(22, 29, 74, .07);--sh-2: 0 18px 36px -20px rgba(22, 29, 74, .38), 0 2px 6px rgba(22, 29, 74, .06);--display: "Bricolage Grotesque Variable", "Hanken Grotesk Variable", system-ui, sans-serif;--body: "Hanken Grotesk Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--m-home: var(--brand);--m-customers: #3050e0;--m-leads: #e59500;--m-products: #0e9aa8;--m-quotations: #7a4de0;--m-orders: #17936a;--m-purchases: #e8663c;--m-comms: #d6468f;--m-admin: #4a5380;--m-reports: #b7791f}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--body);font-size:15px;line-height:1.45;color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3,h4{font-family:var(--display);margin:0;letter-spacing:-.01em;color:var(--ink)}h1{font-size:28px;font-weight:700;line-height:1.15}h2{font-size:19px;font-weight:650}h3{font-size:16px;font-weight:650}p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}.muted{color:var(--muted)}.small{font-size:13px}.num{font-family:var(--display);font-variant-numeric:tabular-nums}.right{text-align:right}.row{display:flex;align-items:center;gap:10px}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.stack{display:flex;flex-direction:column;gap:14px}.clip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app{display:grid;grid-template-columns:252px 1fr;min-height:100%}.side{background:var(--ink);color:#c9cff0;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:18px 14px}.brand{display:flex;align-items:center;gap:11px;padding:4px 8px 18px}.brand img{width:36px;height:36px;border-radius:10px;box-shadow:0 0 0 1px #ffffff24}.brand b{font-family:var(--display);font-size:18px;color:#fff;font-weight:700;line-height:1.1;display:block}.brand span{font-size:12px;color:#8f98cc}.nav{display:flex;flex-direction:column;gap:2px;overflow-y:auto;flex:1}.nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;font-weight:550;color:#c0c7ee;position:relative}.nav a svg{width:19px;height:19px;flex:none;opacity:.85}.nav a:hover{background:#ffffff0f;color:#fff}.nav a.active{background:#fff;color:var(--ink);box-shadow:0 6px 18px -8px #00000080}.nav a.active svg{color:var(--mc, var(--brand));opacity:1}.nav a .count{margin-left:auto;font-size:12px;font-weight:700;background:var(--gold);color:var(--ink);border-radius:20px;padding:1px 8px}.nav-gap{height:1px;background:#ffffff1a;margin:10px 8px}.side-user{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;background:#ffffff0f;margin-top:12px}.side-user b{color:#fff;font-size:14px;display:block}.side-user span{font-size:12px;color:#8f98cc}.side-user button{margin-left:auto;background:none;border:0;color:#aab2e0;padding:6px;border-radius:8px;display:flex}.side-user button:hover{background:#ffffff1a;color:#fff}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:12px 28px;background:#f3f5fbe0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar .brand-m{display:none}.content{padding:26px 28px 60px;max-width:1280px;width:100%;margin:0 auto}.gsearch{position:relative;flex:1;max-width:460px}.gsearch-pop{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-2);padding:6px;max-height:380px;overflow:auto;z-index:30}.gsearch-pop a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px}.gsearch-pop a:hover{background:var(--paper)}.gsearch-pop .kind{font-size:12px;color:var(--muted);margin-left:auto}.chip-demo{font-size:12.5px;font-weight:650;color:#7a5200;background:var(--gold-soft);border:1px solid #f4d68a;padding:5px 10px;border-radius:20px;white-space:nowrap}.bottomnav{display:none}.input,select.input,textarea.input{width:100%;background:#fff;border:1px solid #d5dbec;border-radius:10px;padding:10px 12px;min-height:42px;transition:border-color .15s,box-shadow .15s}textarea.input{min-height:84px;resize:vertical}.input:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px #3050e029}.input[readonly],.input:disabled{background:#f6f7fb;color:var(--muted)}.search{position:relative}.search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--faint);pointer-events:none}.search .input{padding-left:38px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>span{font-size:13px;font-weight:600;color:#4a5380}.field>small{font-size:12px;color:var(--muted)}.field .req{color:var(--red)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1 / -1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border-radius:10px;border:1px solid #d5dbec;background:#fff;color:var(--ink);font-weight:620;white-space:nowrap;transition:transform .08s,background .15s,box-shadow .15s}.btn svg{width:17px;height:17px;flex:none}.btn:hover{background:#f7f8fc}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 8px 18px -10px #3050e0e6}.btn-primary:hover{background:var(--brand-dark)}.btn-ink{background:var(--ink);border-color:var(--ink);color:#fff}.btn-ink:hover{background:var(--ink-2)}.btn-green{background:var(--green);border-color:var(--green);color:#fff}.btn-green:hover{background:#127a58}.btn-danger{color:var(--red);border-color:#f1c3c8}.btn-danger:hover{background:var(--red-soft)}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:var(--grey-soft)}.btn-sm{min-height:34px;padding:0 11px;font-size:13.5px;border-radius:8px}.icon-btn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--line);background:#fff;color:#4a5380;flex:none}.icon-btn svg{width:17px;height:17px}.icon-btn:hover{background:var(--paper);color:var(--ink)}.icon-btn.wa:hover{background:#e3f8ec;color:#128c4a;border-color:#b7e6cc}.pagehead{display:flex;align-items:flex-end;gap:14px;margin-bottom:20px;flex-wrap:wrap}.pagehead p{color:var(--muted);margin-top:4px}.pagehead .actions{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}.toolbar{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap;align-items:center}.toolbar .search{flex:1;min-width:200px;max-width:380px}.back{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-weight:600;font-size:14px;margin-bottom:10px}.back:hover{color:var(--ink)}.back svg{width:16px;height:16px}.tabs{display:inline-flex;background:#e8ebf5;border-radius:11px;padding:4px;gap:2px;max-width:100%;overflow-x:auto}.tabs button{border:0;background:none;padding:7px 14px;border-radius:8px;font-weight:620;color:#4a5380;white-space:nowrap}.tabs button.on{background:#fff;color:var(--ink);box-shadow:var(--sh-1)}.tabs button i{font-style:normal;margin-left:6px;font-size:12px;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1)}.card-pad{padding:20px}.card-head{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line)}.card-head h3{flex:1}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.rec{--mc: var(--brand);min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);padding:16px 16px 12px;display:flex;flex-direction:column;gap:12px;position:relative;transition:transform .16s ease,box-shadow .16s ease,border-color .16s;cursor:pointer;text-align:left;width:100%}.rec:hover{transform:translateY(-2px);box-shadow:var(--sh-2);border-color:color-mix(in srgb,var(--mc) 35%,var(--line))}.rec-top{display:flex;gap:12px;align-items:flex-start}.tile{width:44px;height:44px;border-radius:13px;flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;font-size:15px;color:var(--mc);background:color-mix(in srgb,var(--mc) 12%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mc) 22%,transparent)}.tile svg{width:20px;height:20px}.tile.sm{width:34px;height:34px;border-radius:10px;font-size:12.5px}.rec-title{font-family:var(--display);font-weight:650;font-size:16px;color:var(--ink);line-height:1.25;overflow-wrap:anywhere}.rec-sub{font-size:13.5px;color:var(--muted);margin-top:2px}.rec-meta{display:grid;gap:6px;font-size:13.5px;color:#4a5380}.rec-meta div{display:flex;align-items:center;gap:8px;min-width:0}.rec-meta svg{width:15px;height:15px;color:var(--faint);flex:none}.rec-foot{display:flex;align-items:center;flex-wrap:wrap;gap:8px;border-top:1px dashed var(--line);padding-top:11px;margin-top:auto}.rec-foot .amt{font-family:var(--display);font-weight:700;font-size:17px;color:var(--ink)}.rec-foot .sp{flex:1}.kv{display:flex;justify-content:space-between;gap:12px;font-size:13.5px}.kv span:first-child{color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:12.5px;font-weight:650;padding:3px 10px;border-radius:20px;background:var(--grey-soft);color:#4a5380}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill.plain:before{display:none}.pill.blue{background:var(--brand-soft);color:var(--brand-dark)}.pill.green{background:var(--green-soft);color:#0f7352}.pill.red{background:var(--red-soft);color:#b32c38}.pill.amber{background:var(--gold-soft);color:#8a5a00}.pill.violet{background:var(--violet-soft);color:#5a32b8}.empty{text-align:center;padding:54px 20px;border:1.5px dashed #cfd6ea;border-radius:var(--r-lg);background:#fff9}.empty .tile{margin:0 auto 14px;width:54px;height:54px}.empty p{color:var(--muted);max-width:380px;margin:6px auto 16px}.overlay{position:fixed;inset:0;z-index:100;background:#0f143880;display:flex;align-items:center;justify-content:center;padding:20px;animation:fade .16s ease}.modal{background:#fff;border-radius:20px;width:100%;max-width:620px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;box-shadow:0 40px 80px -30px #0a0e2d99;animation:pop .2s cubic-bezier(.2,.9,.3,1.1)}.modal.wide{max-width:900px}.modal.narrow{max-width:440px}.modal-head{display:flex;align-items:center;gap:10px;padding:18px 22px;border-bottom:1px solid var(--line)}.modal-head h2{flex:1}.modal-body{padding:20px 22px;overflow-y:auto}.modal-foot{display:flex;gap:10px;justify-content:flex-end;padding:14px 22px;border-top:1px solid var(--line);flex-wrap:wrap}.modal-foot .left{margin-right:auto}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(14px) scale(.98)}}@keyframes sheet{0%{transform:translateY(100%)}}.toasts{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{background:var(--ink);color:#fff;padding:11px 18px;border-radius:12px;font-weight:600;box-shadow:var(--sh-2);animation:pop .2s ease;max-width:90vw}.toast.err{background:var(--red)}.hello{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:22px}.hello p{color:var(--muted);margin-top:4px}.flow{position:relative;margin-bottom:26px}.flow-scroll{overflow-x:auto;padding:4px 4px 14px;margin:0 -4px;scrollbar-width:thin}.flow-inner{min-width:0}.flow-root{display:flex;justify-content:center}.flow-root div{background:var(--ink);color:#fff;font-family:var(--display);font-weight:650;padding:8px 18px;border-radius:30px;display:flex;align-items:center;gap:9px;font-size:14.5px}.flow-root div i{width:8px;height:8px;border-radius:50%;background:var(--gold)}.flow-stem{width:2px;height:18px;background:#b9c1e2;margin:0 auto}.flow-rail{height:2px;background:#b9c1e2;margin:0 calc(100% / 14);border-radius:2px;transform-origin:center;animation:rail .6s cubic-bezier(.3,.8,.3,1) both}.flow-grid{display:grid;grid-template-columns:repeat(var(--cols, 7),1fr);gap:12px}.mod{min-width:0;position:relative;margin-top:20px;padding:16px 14px 14px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh-1);display:flex;flex-direction:column;gap:4px;animation:drop .45s cubic-bezier(.2,.9,.3,1.15) both;animation-delay:calc(.25s + var(--i) * .06s);transition:transform .16s,box-shadow .16s}.mod:before{content:"";position:absolute;left:50%;top:-21px;width:2px;height:20px;background:#b9c1e2}.mod:after{content:"";position:absolute;left:50%;top:-5px;width:9px;height:9px;margin-left:-3.5px;border-radius:50%;background:#fff;border:2px solid var(--mc)}.mod:hover{transform:translateY(-3px);box-shadow:var(--sh-2)}.mod .tile{width:38px;height:38px;border-radius:11px;margin-bottom:8px}.mod b{font-family:var(--display);font-size:30px;font-weight:700;color:var(--ink);line-height:1}.mod strong{font-size:14px;font-weight:650;color:var(--ink)}.mod small{font-size:12.5px;color:var(--muted);line-height:1.3;min-height:32px}@keyframes rail{0%{transform:scaleX(0)}}@keyframes drop{0%{opacity:0;transform:translateY(-12px)}}.pipe{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:26px}.pipe a{position:relative;padding:16px 18px 16px 30px;color:#fff;background:var(--pc);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%,16px 50%);transition:filter .15s}.pipe a:first-child{border-radius:14px 0 0 14px;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%);padding-left:20px}.pipe a:hover{filter:brightness(1.08)}.pipe span{font-size:13px;opacity:.85;font-weight:600}.pipe b{display:block;font-family:var(--display);font-size:24px;line-height:1.15}.pipe em{font-style:normal;font-size:13px;opacity:.9}.home-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;align-items:start}.todo{display:flex;align-items:center;gap:12px;padding:13px 20px;border-bottom:1px solid var(--line)}.todo:last-child{border-bottom:0}.todo:hover{background:#fafbfe}.todo b{font-weight:650;color:var(--ink);display:block}.todo span{font-size:13px;color:var(--muted)}.todo .when{margin-left:auto;text-align:right;flex:none}.todo .grow b,.todo .grow span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bars{display:flex;align-items:flex-end;gap:12px;height:150px;padding:6px 4px 0}.bars div{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}.bars i{display:block;width:100%;max-width:46px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#4e6cf0,var(--brand));min-height:4px}.bars div:last-child i{background:linear-gradient(180deg,#f7bd45,var(--gold))}.bars span{font-size:12px;color:var(--muted)}.bars em{font-style:normal;font-size:11.5px;font-weight:650;color:#4a5380}.hbar{display:grid;grid-template-columns:130px 1fr 34px;gap:10px;align-items:center;font-size:13.5px;padding:5px 0}.hbar i{display:block;height:10px;border-radius:6px;background:var(--m-leads);min-width:4px}.hbar div{background:var(--grey-soft);border-radius:6px;overflow:hidden}.hbar.wide{grid-template-columns:minmax(0,190px) 1fr 64px}a.hbar:hover span{color:var(--brand)}.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(264px,1fr);gap:14px;overflow-x:auto;padding-bottom:14px;scroll-snap-type:x proximity;align-items:start}.col{background:#e9ecf6;border-radius:16px;padding:10px;scroll-snap-align:start;min-height:160px;transition:background .15s,box-shadow .15s}.col.over{background:#dfe5fb;box-shadow:inset 0 0 0 2px var(--brand)}.col-head{display:flex;align-items:center;gap:8px;padding:4px 6px 10px}.col-head b{font-family:var(--display);font-weight:650;color:var(--ink)}.col-head i{font-style:normal;font-size:12px;font-weight:700;background:#fff;border-radius:20px;padding:1px 8px;color:#4a5380}.col-head span{margin-left:auto;font-size:12.5px;color:var(--muted);font-weight:600}.col-head .dot{width:9px;height:9px;border-radius:50%;background:var(--dc);margin:0;padding:0}.lead{background:#fff;border-radius:13px;padding:13px;margin-bottom:9px;border:1px solid var(--line);box-shadow:var(--sh-1);cursor:grab;display:flex;flex-direction:column;gap:8px;text-align:left;width:100%;transition:transform .14s,box-shadow .14s}.lead:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}.lead.dragging{opacity:.45}.lead b{font-weight:650;color:var(--ink);line-height:1.3}.lead .co{font-size:13px;color:var(--muted)}.lead .foot{display:flex;align-items:center;gap:8px;font-size:12.5px}.lead .val{font-family:var(--display);font-weight:700;color:var(--ink);font-size:14.5px}.due{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:620;color:#4a5380}.due svg{width:13px;height:13px}.due.late{color:var(--red)}.due.today{color:#a56a00}.avatar{width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:none}.doc-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}.doc-side{position:sticky;top:76px;display:flex;flex-direction:column;gap:16px}.dochead{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}.dochead h1{font-size:24px}.dochead .rev{font-family:var(--display);font-weight:700;font-size:13px;background:var(--ink);color:#fff;border-radius:7px;padding:2px 8px}.dochead .actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.item{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fcfcfe;display:grid;gap:10px}.item+.item{margin-top:10px}.item-top{display:flex;gap:10px;align-items:center}.item-n{width:26px;height:26px;border-radius:8px;background:var(--ink);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}.item-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:10px;align-items:end}.item-nums .field>span{font-size:12px}.item-nums .input{min-height:38px;padding:7px 10px}.item-amt{font-family:var(--display);font-weight:700;font-size:16px;color:var(--ink);text-align:right;padding-bottom:8px}.item-amt small{display:block;font-family:var(--body);font-weight:600;font-size:12px}.sum{display:grid;gap:9px}.sum .kv{font-size:14.5px}.sum .total{border-top:1px solid var(--line);padding-top:12px;margin-top:3px;align-items:baseline}.sum .total span:last-child{font-family:var(--display);font-weight:700;font-size:24px;color:var(--ink)}.margin{border-radius:12px;background:var(--paper);padding:12px;display:grid;gap:8px}.meter{height:8px;background:#dfe3f1;border-radius:6px;overflow:hidden}.meter i{display:block;height:100%;border-radius:6px;background:var(--green)}.meter i.low{background:var(--red)}.note{border-radius:12px;padding:12px 14px;font-size:14px;background:var(--gold-soft);color:#6d4700;display:flex;gap:10px;align-items:flex-start}.note svg{width:17px;height:17px;flex:none;margin-top:2px}.note.green{background:var(--green-soft);color:#0c5f44}.note.red{background:var(--red-soft);color:#9a2430}.note.blue{background:var(--brand-soft);color:#22379f}.steps{display:flex;gap:0;margin:4px 0}.steps div{flex:1;text-align:center;position:relative;font-size:12.5px;font-weight:620;color:var(--faint);padding-top:26px}.steps div:before{content:"";position:absolute;top:8px;left:-50%;right:50%;height:3px;background:#dfe3f1}.steps div:first-child:before{display:none}.steps div:after{content:"";position:absolute;top:2px;left:50%;margin-left:-8px;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid #dfe3f1;box-sizing:border-box}.steps div.done{color:var(--ink)}.steps div.done:before{background:var(--green)}.steps div.done:after{border-color:var(--green);background:var(--green)}.steps div.now:after{background:#fff;box-shadow:0 0 0 4px var(--green-soft)}.list-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.tl{position:relative;padding-left:22px;display:grid;gap:16px}.tl:before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:var(--line)}.tl-item{position:relative}.tl-item:before{content:"";position:absolute;left:-21px;top:5px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--mc, var(--m-comms));box-sizing:border-box}.tl-item p{margin-top:3px;color:#3a4270}.seg{display:flex;gap:6px;flex-wrap:wrap}.seg button{border:1px solid #d5dbec;background:#fff;border-radius:20px;padding:7px 13px;font-weight:600;font-size:14px;display:inline-flex;gap:7px;align-items:center}.seg button svg{width:15px;height:15px}.seg button.on{background:var(--ink);border-color:var(--ink);color:#fff}.table-wrap{overflow-x:auto}table.grid{width:100%;border-collapse:collapse;font-size:14px}table.grid th{text-align:left;font-weight:650;color:#4a5380;font-size:13px;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}table.grid td{padding:10px 12px;border-bottom:1px solid var(--line)}table.grid tr:last-child td{border-bottom:0}table.grid td.c,table.grid th.c{text-align:center}.lvl{display:inline-flex;background:var(--grey-soft);border-radius:8px;padding:3px;gap:2px}.lvl button{border:0;background:none;padding:4px 9px;border-radius:6px;font-size:12.5px;font-weight:650;color:var(--muted)}.lvl button.on{background:#fff;color:var(--ink);box-shadow:var(--sh-1)}.lvl button.on.l2{background:var(--brand);color:#fff}.login{min-height:100%;display:grid;grid-template-columns:1.1fr 1fr}.login-art{background:var(--ink);color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.login-art h1{color:#fff;font-size:clamp(32px,3.6vw,50px);line-height:1.06;max-width:13ch}.login-art p{color:#aab2e0;max-width:44ch;margin-top:16px;font-size:16.5px}.sketch{margin-top:36px;max-width:520px}.sketch .flow-rail,.sketch .flow-stem,.sketch .mini:before{background:#4b5490}.sketch-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.mini{position:relative;margin-top:16px;height:46px;border-radius:11px;background:#ffffff12;border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:var(--mc);animation:drop .45s both;animation-delay:calc(.3s + var(--i) * .07s)}.mini:before{content:"";position:absolute;top:-17px;left:50%;width:2px;height:16px}.mini svg{width:19px;height:19px;filter:brightness(1.5) saturate(.9)}.login-form{display:flex;align-items:center;justify-content:center;padding:32px 22px}.login-box{width:100%;max-width:400px;display:grid;gap:16px}.login-box h2{font-size:26px}.or{display:flex;align-items:center;gap:12px;color:var(--faint);font-size:13px}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}.linkbtn{background:none;border:0;padding:0;color:var(--brand);font-weight:650}.linkbtn:hover{text-decoration:underline}.err{background:var(--red-soft);color:#9a2430;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:550}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px}.stat span{font-size:13px;color:var(--muted);font-weight:600}.stat b{display:block;font-family:var(--display);font-size:22px;color:var(--ink);margin-top:2px}.stat small{font-size:12.5px;color:var(--muted)}.stat.warn{background:var(--gold-soft);border-color:#f1d99c}.stat.warn b{color:#7a4e00}.skeleton{display:grid;gap:16px}.skeleton i{display:block;height:18px;border-radius:10px;background:linear-gradient(90deg,#e6e9f4 25%,#f1f3fa,#e6e9f4 55%);background-size:300% 100%;animation:shimmer 1.3s linear infinite}.skeleton div{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.skeleton div i{height:150px;border-radius:var(--r-lg)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.savestate{display:inline-flex;align-items:center;gap:6px}.savestate:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green)}.gs{margin-bottom:22px;border-color:color-mix(in srgb,var(--brand) 30%,var(--line))}.gs-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.gs-steps a{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-right:1px solid var(--line)}.gs-steps a:last-child{border-right:0}.gs-steps a:hover{background:#fafbfe}.gs-steps b{display:block;font-weight:650;color:var(--ink);line-height:1.3}.gs-steps small{color:var(--muted);font-size:13px}.gs-n{width:28px;height:28px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;background:var(--brand-soft);color:var(--brand-dark)}.gs-n svg{width:15px;height:15px}.gs-steps a.done b{color:var(--muted);text-decoration:line-through}.gs-steps a.done .gs-n{background:var(--green-soft);color:var(--green)}.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}.plan{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);padding:22px;display:flex;flex-direction:column;gap:6px}.plan.best{border:2px solid var(--brand);box-shadow:var(--sh-2)}.plan-tag{position:absolute;top:-12px;left:20px;background:var(--brand);color:#fff;font-size:12.5px;font-weight:700;padding:3px 11px;border-radius:20px}.plan h3{font-size:20px}.plan-line{color:var(--muted);font-size:14px;min-height:40px}.plan-price{display:flex;align-items:baseline;gap:8px;margin-top:6px}.plan-price b{font-family:var(--display);font-size:38px;font-weight:700;color:var(--ink);line-height:1}.plan-price span{color:var(--muted);font-size:14px}.plan-sub{font-size:13px;color:var(--muted)}.plan-users{margin:12px 0 4px;font-weight:650;color:var(--ink);background:var(--paper);border-radius:10px;padding:9px 12px}.plan ul{list-style:none;margin:8px 0 18px;padding:0;display:grid;gap:9px;flex:1;align-content:start}.plan li{display:flex;gap:9px;align-items:flex-start;font-size:14.5px}.plan li svg{width:17px;height:17px;color:var(--green);flex:none;margin-top:2px}.trial-chip{display:block;margin-top:12px;padding:10px 12px;border-radius:12px;background:#f2a20c24;border:1px solid rgba(242,162,12,.4)}.trial-chip b{display:block;color:#ffd27a;font-size:13.5px}.trial-chip span{font-size:12.5px;color:#c9cff0;text-decoration:underline}.paywall{max-width:1080px;margin:0 auto;padding:28px max(16px,env(safe-area-inset-right)) 60px max(16px,env(safe-area-inset-left))}@media(max-width:1180px){.flow .flow-root,.flow .flow-stem,.flow .flow-rail{display:none}.flow .flow-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.flow .mod{margin-top:0}.flow .mod:before,.flow .mod:after{display:none}}@media(max-width:1100px){.doc-grid,.home-grid,.two-col{grid-template-columns:minmax(0,1fr)}.gs-steps{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.doc-side{position:static}}@media(max-width:860px){.app{grid-template-columns:1fr}.side{display:none}.topbar{padding:10px 14px;padding-top:calc(10px + env(safe-area-inset-top))}.topbar .brand-m{display:flex;align-items:center}.topbar .brand-m img{width:34px;height:34px;border-radius:10px}.chip-demo{display:none}.gsearch{max-width:none}.topbar>.grow{display:none}.content{padding:18px 14px calc(96px + env(safe-area-inset-bottom))}h1{font-size:23px}.bottomnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px -18px #161d4a66}.bottomnav a,.bottomnav button{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11.5px;font-weight:620;color:var(--muted);background:none;border:0;padding:7px 2px;border-radius:12px}.bottomnav svg{width:21px;height:21px}.bottomnav .active{color:var(--mc, var(--brand));background:color-mix(in srgb,var(--mc, var(--brand)) 10%,#fff)}.more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.more-grid a{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 6px;border-radius:14px;background:var(--paper);font-size:13px;font-weight:620;text-align:center}.overlay{padding:0;align-items:flex-end}.modal,.modal.wide,.modal.narrow{max-width:none;border-radius:22px 22px 0 0;max-height:94vh;animation:sheet .26s cubic-bezier(.2,.9,.3,1);padding-bottom:env(safe-area-inset-bottom)}.form-grid{grid-template-columns:1fr}.cards{grid-template-columns:minmax(0,1fr)}.plans{grid-template-columns:minmax(0,1fr);gap:22px}.plan-line{min-height:0}.rec-foot{flex-wrap:wrap}.pagehead .actions{margin-left:0;width:100%}.pagehead .actions .btn{flex:1}.pipe{grid-template-columns:1fr 1fr;gap:8px}.pipe a,.pipe a:first-child{clip-path:none;border-radius:14px;padding:14px 16px}.flow-inner{min-width:0}.flow-root,.flow-stem,.flow-rail{display:none}.flow .flow-grid{grid-template-columns:1fr 1fr;gap:10px}.gs-steps a{border-right:0;border-bottom:1px solid var(--line)}.hbar.wide{grid-template-columns:minmax(0,120px) 1fr 56px}.mod{margin-top:0}.mod:before,.mod:after{display:none}.mod small{min-height:0}.login{grid-template-columns:1fr}.login-art{padding:28px 22px}.login-art .sketch{display:none}.login-art p{font-size:15px}.dochead .actions{margin-left:0;width:100%}.board{grid-auto-columns:84vw}.hbar{grid-template-columns:104px 1fr 30px}.toasts{bottom:calc(88px + env(safe-area-inset-bottom))}}@media(min-width:861px){.only-m{display:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media print{.side,.topbar,.bottomnav{display:none}}
