:root{--navy:#14233f;--blue:#1f6bd0;--blue-2:#1a5bb4;--blue-soft:#e7eefb;--ink:#1a2334;--ink-2:#56627a;--ink-3:#8b97ab;--bg:#fff;--panel:#fafbfd;--panel-2:#f3f5f9;--bg-2:#f3f6fb;--border:#e7eaf1;--border-2:#d7dce6;--red:#e0584a;--green:#1f9d57;--font:"Geist", ui-sans-serif, system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--mono:"Geist Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;background:var(--bg);margin:0}h1,h2,h3{letter-spacing:-.01em;margin:0}p{margin:0}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:99px}.screen{display:flex;position:fixed;inset:0;overflow:hidden}.sb{background:linear-gradient(#1a2c4d 0%,#111f37 100%);flex-direction:column;flex:none;width:248px;height:100%;display:flex}.ws{border-radius:10px;align-items:center;gap:10px;margin:6px;padding:13px 12px;transition:background .14s;display:flex}.ws:hover{background:#ffffff0d}.ws-logo{background:linear-gradient(135deg,var(--blue),#14b8a6);border-radius:8px;flex:none;place-items:center;width:30px;height:30px;display:grid;box-shadow:inset 0 0 0 1.5px #ffffff40}.ws-logo span{opacity:.94;background:#fff;border-radius:3px;width:12px;height:12px;transform:rotate(45deg)}.ws-name{color:#f2f6fb;font-size:13.5px;font-weight:600}.ws-sub{color:#7b8aa2;margin-top:1px;font-size:11px}.ws-cv{color:#8a99b3;margin-left:auto}.ws-cv svg{width:15px;height:15px}.sb-search{color:#8a99b3;text-align:left;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:9px;align-items:center;gap:8px;width:auto;margin:2px 12px 6px;padding:8px 10px;font-size:12.5px;display:flex}.sb-search svg{width:15px;height:15px}.sb-search kbd{font-family:var(--mono);color:#9fb0c8;background:#ffffff12;border:1px solid #ffffff1a;border-radius:5px;margin-left:auto;padding:1px 5px;font-size:10px}.nav{flex:1;padding:8px 10px 10px;overflow-y:auto}.nav-sec{letter-spacing:.14em;text-transform:uppercase;color:#6b7a93;padding:13px 10px 5px;font-size:9.5px;font-weight:600}.nav-item{color:#aeb9cc;text-align:left;background:0 0;border:none;border-radius:9px;align-items:center;gap:11px;width:100%;padding:6px 10px;font-size:13px;font-weight:500;transition:background .12s,color .12s;display:flex;position:relative}.nav-item:hover{color:#eef3fa;background:#ffffff0d}.nav-item.on{color:#fff;background:#ffffff17;font-weight:600}.nav-item.on:before{content:"";background:var(--blue);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-10px}.nav-item .ni{color:#fff;border-radius:8px;flex:none;place-items:center;width:28px;height:28px;display:grid}.nav-item .ni svg{width:15px;height:15px}.nav-item .lbl{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-item .cnt{font-family:var(--mono);color:#7b8aa2;font-size:10.5px;font-weight:600}.nav-item .cnt.accent{color:#fff;background:var(--red);border-radius:99px;padding:1px 6px}.sb-user{text-align:left;background:0 0;border:none;border-top:1px solid #ffffff14;align-items:center;gap:10px;width:100%;padding:10px 14px;display:flex}.sb-user:hover{background:#ffffff0a}.sb-av{color:#fff;background:linear-gradient(135deg,#1f6bd0,#14b8a6);border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:12px;font-weight:600;display:grid}.sb-user-n{color:#f2f6fb;font-size:12.5px;font-weight:600}.sb-user-r{color:#7b8aa2;font-size:11px}.sb-user>svg{color:#8a99b3;width:15px;height:15px;margin-left:auto}.content{flex-direction:column;flex:1;min-width:0;display:flex}.tb{border-bottom:1px solid var(--border);background:#fff;flex:none;align-items:center;gap:14px;height:58px;padding:0 20px;display:flex}.tb-crumb{color:var(--navy);white-space:nowrap;font-size:14px;font-weight:600}.tb-crumb .muted{color:var(--ink-3);font-weight:500}.search{background:var(--panel);border:1px solid var(--border);max-width:460px;color:var(--ink-3);border-radius:10px;flex:1;align-items:center;gap:9px;padding:9px 13px;transition:all .14s;display:flex}.search:hover{border-color:var(--border-2);background:#fff}.search svg{width:16px;height:16px}.search input{min-width:0;color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:13.5px}.search kbd{font-family:var(--mono);color:var(--ink-3);border:1px solid var(--border);background:#fff;border-radius:5px;padding:2px 6px;font-size:10.5px}.tb-right{align-items:center;gap:10px;margin-left:auto;display:flex}.create-wrap{position:relative}.btn-create{color:#fff;background:var(--blue);border:none;border-radius:9px;align-items:center;gap:8px;padding:9px 14px;font-size:13.5px;font-weight:600;transition:all .14s;display:inline-flex;box-shadow:0 6px 16px -8px #1f6bd0b3}.btn-create:hover{background:var(--blue-2)}.btn-create svg{width:16px;height:16px}.create-menu{border:1px solid var(--border);z-index:30;background:#fff;border-radius:12px;width:220px;padding:6px;position:absolute;top:46px;right:0;box-shadow:0 24px 50px -20px #14233f52}.cm-h{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:9px 10px 5px;font-size:10.5px;font-weight:600}.cm-item{width:100%;color:var(--ink-2);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.cm-item:hover{background:var(--panel-2);color:var(--navy)}.cm-item svg{width:16px;height:16px;color:var(--ink-3)}.ic-btn{border:1px solid var(--border);width:36px;height:36px;color:var(--ink-2);background:#fff;border-radius:9px;place-items:center;transition:all .14s;display:grid;position:relative}.ic-btn:hover{background:var(--panel-2);border-color:var(--border-2);color:var(--navy)}.ic-btn svg{width:17px;height:17px}.ic-btn .dot{background:var(--red);border:1.5px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:8px}.main{flex:1;padding:26px 28px 32px;overflow-y:auto}.hub-head{align-items:center;gap:14px;margin-bottom:22px;display:flex}.hub-ic{color:#fff;background:linear-gradient(135deg,var(--blue),#3b86e6);border-radius:12px;flex:none;place-items:center;width:46px;height:46px;display:grid;box-shadow:0 8px 18px -8px #1f6bd099}.hub-ic svg{width:24px;height:24px}.hub-title{color:var(--navy);letter-spacing:-.02em;font-size:23px;font-weight:600}.hub-sub{color:var(--ink-2);margin-top:3px;font-size:13.5px}.grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}@media (width<=1180px){.grid{grid-template-columns:repeat(3,1fr)}}@media (width<=880px){.grid{grid-template-columns:repeat(2,1fr)}}.card{border:1px solid var(--border);text-align:left;cursor:pointer;background:#fff;border-radius:14px;width:100%;padding:18px 18px 16px;transition:border-color .18s,box-shadow .22s,transform .22s}.card:hover{border-color:var(--border-2);transform:translateY(-3px);box-shadow:0 20px 40px -26px #14233f80}.card-head{border-bottom:1px solid var(--border);align-items:center;gap:13px;margin-bottom:14px;padding-bottom:14px;display:flex}.card-ic{background:var(--c);color:#fff;border-radius:11px;flex:none;place-items:center;width:44px;height:44px;display:grid}.card-ic svg{width:22px;height:22px}.card-title{color:var(--navy);font-size:15px;font-weight:600;line-height:1.2}.card-sub{color:var(--ink-3);margin-top:3px;font-size:11.5px}.card-desc{color:var(--ink-2);font-size:13px;line-height:1.5}.login{min-height:100vh;display:flex}.brand{color:#cdd8e8;background:linear-gradient(160deg,#1a2c4d 0%,#111f37 55%,#0d1830 100%);flex-direction:column;flex:0 0 46%;max-width:620px;padding:46px 52px;display:flex;position:relative;overflow:hidden}.brand:before{content:"";pointer-events:none;background:radial-gradient(50% 50% at 84% 8%,#1f6bd047,#0000 60%),radial-gradient(46% 46% at 6% 96%,#14b8a629,#0000 60%);position:absolute;inset:0}.brand:after{content:"";pointer-events:none;background:linear-gradient(135deg,#1f6bd01f,#14b8a60d);border-radius:64px;width:520px;height:520px;position:absolute;bottom:-160px;right:-150px;transform:rotate(45deg);box-shadow:inset 0 0 0 1px #ffffff0d}.brand>*{z-index:1;position:relative}.wordmark{align-items:center;gap:11px;display:flex}.wm-mark{background:linear-gradient(135deg,var(--blue) 0%,#14b8a6 100%);border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:grid;box-shadow:inset 0 0 0 1.5px #ffffff4d}.wm-mark span{opacity:.92;background:#fff;border-radius:3px;width:15px;height:15px;display:block;transform:rotate(45deg)}.wm-name{color:#f2f6fb;font-size:18px;font-weight:600}.wm-sub{font-family:var(--mono);letter-spacing:.14em;color:#7b8aa2;margin-top:2px;font-size:10px}.brand-mid{max-width:420px;margin-top:auto;margin-bottom:auto}.brand-mid h1{color:#f2f6fb;letter-spacing:-.02em;font-size:34px;font-weight:600;line-height:1.1}.brand-mid .lede{color:#9fb0c8;margin-top:18px;font-size:15.5px;line-height:1.6}.ticks{flex-direction:column;gap:13px;margin-top:30px;display:flex}.tick{color:#c4d0e2;align-items:center;gap:12px;font-size:14px;display:flex}.tick-ic{color:#6fb0f5;background:#6fb0f529;border-radius:7px;flex:none;place-items:center;width:26px;height:26px;display:grid}.tick-ic svg{width:15px;height:15px}.brand-foot{font-family:var(--mono);color:#6d7e98;justify-content:space-between;align-items:center;gap:16px;font-size:11.5px;display:flex}.status{color:#9fb0c8;align-items:center;gap:7px;display:inline-flex}.status .dot{background:#26a560;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #26a5602e}.form-wrap{flex:1;justify-content:center;align-items:center;padding:40px 28px;display:flex}.form{width:100%;max-width:384px}.form-top{justify-content:flex-end;margin-bottom:34px;display:flex}.lang{background:var(--bg-2);border:1px solid var(--border);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.lang button{color:var(--ink-3);background:0 0;border:none;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:600}.lang button.on{color:var(--navy);background:#fff;box-shadow:0 1px 2px #14233f1f}.form h2{color:var(--navy);font-size:24px;font-weight:600}.form-sub{color:var(--ink-2);margin-top:9px;font-size:14px}.seg{background:var(--bg-2);border:1px solid var(--border);border-radius:10px;gap:3px;margin:26px 0 20px;padding:3px;display:flex}.seg button{color:var(--ink-2);background:0 0;border:none;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:7px;padding:9px;font-size:13px;font-weight:600;transition:all .14s;display:inline-flex}.seg button svg{width:15px;height:15px}.seg button.on{color:var(--navy);background:#fff;box-shadow:0 2px 6px -2px #14233f2e}.field{flex-direction:column;gap:7px;margin-bottom:16px;display:flex}.control{border:1px solid var(--border);background:#fff;border-radius:10px;align-items:center;gap:9px;padding:12px 13px;transition:border-color .14s,box-shadow .14s;display:flex}.control:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #1f6bd021}.control svg{width:17px;height:17px;color:var(--ink-3);flex:none}.control input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:inherit;font-size:14px}.control .toggle{color:var(--ink-3);background:0 0;border:none;place-items:center;padding:0;display:grid}.control .toggle:hover{color:var(--ink-2)}.control .toggle.on{color:var(--blue)}.prefix{color:var(--ink-2);border-right:1px solid var(--border);white-space:nowrap;padding-right:9px;font-size:14px;font-weight:500}.suffix{color:var(--ink-3);border-left:1px solid var(--border);white-space:nowrap;padding-left:9px;font-size:13px}.tenant-badge{color:var(--ink-2);background:var(--bg-2);border:1px solid var(--border);border-radius:10px;align-items:center;gap:8px;margin-bottom:16px;padding:11px 13px;font-size:13px;display:flex}.tenant-badge b{color:var(--navy);font-weight:600}.tenant-badge svg{width:16px;height:16px;color:var(--ink-3);flex:none}.row-between{justify-content:space-between;align-items:center;gap:12px;margin:-2px 0 22px;display:flex}.remember{color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}.check{border:1px solid var(--border-2);color:#fff;border-radius:5px;place-items:center;width:18px;height:18px;transition:all .14s;display:grid}.check.on{background:var(--blue);border-color:var(--blue)}.check svg{width:12px;height:12px}.link{color:var(--blue);background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.link:hover{color:var(--blue-2)}.btn-primary{color:#fff;background:var(--blue);border:none;border-radius:10px;justify-content:center;align-items:center;gap:9px;width:100%;padding:14px;font-size:15px;font-weight:600;transition:all .14s;display:inline-flex;box-shadow:0 10px 24px -10px #1f6bd0cc}.btn-primary:hover:not(:disabled){background:var(--blue-2)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.btn-primary svg{width:17px;height:17px}.form-err{color:var(--red);background:#e0584a14;border:1px solid #e0584a40;border-radius:9px;margin-top:14px;padding:10px 12px;font-size:13px}.hint{color:var(--ink-3);font-size:12.5px;line-height:1.5}.signup{border-top:1px solid var(--border);text-align:center;color:var(--ink-2);margin-top:30px;padding-top:22px;font-size:13.5px}.signup a{color:var(--blue);font-weight:600}@media (width<=880px){.brand{display:none}}.page-head{align-items:flex-start;gap:14px;margin-bottom:22px;display:flex}.page-head .grow{flex:1;min-width:0}.page-actions{align-items:center;gap:10px;display:flex}.btn{border:1px solid var(--border);color:var(--ink-2);background:#fff;border-radius:9px;align-items:center;gap:8px;padding:9px 13px;font-size:13px;font-weight:600;transition:all .14s;display:inline-flex}.btn:hover{background:var(--panel-2);border-color:var(--border-2);color:var(--navy)}.btn svg{width:15px;height:15px}.btn.primary{color:#fff;background:var(--blue);border-color:var(--blue)}.btn.primary:hover{background:var(--blue-2)}.btn.danger{color:var(--red);border-color:#e0584a66}.btn.danger:hover{background:#e0584a14}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.sm{padding:6px 10px;font-size:12px}.panel{border:1px solid var(--border);background:#fff;border-radius:14px;margin-bottom:18px;padding:18px 20px}.panel-h{align-items:center;gap:10px;margin-bottom:14px;display:flex}.panel-h h3{color:var(--navy);font-size:14.5px;font-weight:600}.panel-h .muted{color:var(--ink-3);font-size:12px;font-weight:500}.panel-h .right{gap:8px;margin-left:auto;display:flex}.pill{border:1px solid var(--border-2);color:var(--ink-2);background:var(--panel);white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.pill .dot{background:var(--ink-3);border-radius:50%;width:6px;height:6px}.pill.green{color:#147a43;background:#1f9d571a;border-color:#1f9d574d}.pill.green .dot{background:var(--green)}.pill.red{color:#b43d31;background:#e0584a1a;border-color:#e0584a4d}.pill.red .dot{background:var(--red)}.pill.amber{color:#9a6a12;background:#d69e2e1f;border-color:#d69e2e59}.pill.amber .dot{background:#d69e2e}.pill.blue{color:#1a5bb4;background:var(--blue-soft);border-color:#1f6bd04d}.pill.blue .dot{background:var(--blue)}.sw{background:var(--border-2);border:none;border-radius:99px;flex:none;width:40px;height:23px;transition:all .16s;position:relative}.sw:after{content:"";background:#fff;border-radius:50%;width:19px;height:19px;transition:all .16s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #14233f4d}.sw.on{background:var(--blue)}.sw.on:after{transform:translate(17px)}.feat-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width<=760px){.feat-grid{grid-template-columns:1fr}}.feat{border:1px solid var(--border);background:#fff;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}.feat .fi{color:#fff;border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:grid}.feat .fi svg{width:18px;height:18px}.feat .fn{color:var(--navy);font-size:13.5px;font-weight:600}.feat .fd{color:var(--ink-3);margin-top:2px;font-size:11.5px}.feat .grow{flex:1;min-width:0}.empty{text-align:center;color:var(--ink-3);padding:40px 20px;font-size:13.5px}.kbd-search{z-index:80;background:#14233f66;justify-content:center;align-items:flex-start;padding-top:14vh;display:flex;position:fixed;inset:0}.kbd-box{background:#fff;border-radius:14px;width:100%;max-width:560px;overflow:hidden;box-shadow:0 30px 70px -25px #14233f8c}.kbd-input{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:15px 18px;display:flex}.kbd-input input{color:var(--ink);border:none;outline:none;flex:1;font-family:inherit;font-size:16px}.kbd-input svg{width:18px;height:18px;color:var(--ink-3)}.kbd-res{max-height:50vh;padding:6px;overflow-y:auto}.kbd-item{cursor:pointer;border-radius:9px;align-items:center;gap:11px;padding:10px 12px;display:flex}.kbd-item:hover,.kbd-item.on{background:var(--panel-2)}.kbd-item .ki{background:var(--blue-soft);width:30px;height:30px;color:var(--blue);border-radius:8px;flex:none;place-items:center;display:grid}.kbd-item .kt{color:var(--navy);font-size:13.5px;font-weight:600}.kbd-item .ks{color:var(--ink-3);font-size:11.5px}.tbl{border-collapse:collapse;width:100%;font-size:13px}.tbl th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--border);padding:0 12px 9px;font-size:10.5px;font-weight:600}.tbl td{border-bottom:1px solid var(--border);color:var(--ink-2);vertical-align:middle;padding:12px}.tbl tr:last-child td{border-bottom:none}.tbl tr.row{transition:background .12s}.tbl tr.row:hover{background:var(--panel);cursor:pointer}.tbl .strong,.strong{color:var(--navy);font-weight:600}.tbl .mono,.mono{font-family:var(--mono);color:var(--ink-2);font-size:12px}.tbl .num,.num{text-align:right;font-family:var(--mono)}.toolbar{align-items:center;gap:12px;margin-bottom:16px;display:flex}.kv{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;display:grid}.kv .k{color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.kv .v{color:var(--navy);margin-top:4px;font-size:15px;font-weight:600}.modal-bg{z-index:60;background:#14233f66;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:100%;max-width:520px;max-height:90vh;padding:24px;overflow-y:auto;box-shadow:0 30px 70px -25px #14233f80}.modal h3{color:var(--navy);margin-bottom:4px;font-size:18px;font-weight:600}.modal .modal-sub{color:var(--ink-2);margin-bottom:18px;font-size:13px}.modal .field{flex-direction:column;gap:7px;display:flex}.modal .field input,.modal .field select{border:1px solid var(--border);color:var(--ink);background:#fff;border-radius:10px;outline:none;width:100%;padding:11px 12px;font-family:inherit;font-size:13.5px}.modal .field input:focus,.modal .field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1f6bd021}.modal .two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modal-foot{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.sec-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:18px 0 10px;font-size:10.5px;font-weight:600}.editor{align-items:flex-start;gap:22px;max-width:1240px;margin:0 auto;display:flex}.editor .paper{border:1px solid var(--border);background:#fff;border-radius:14px;flex:1;min-width:0;padding:34px 36px;box-shadow:0 24px 50px -34px #14233f66}.editor .rail{flex-direction:column;flex:none;gap:14px;width:300px;display:flex;position:sticky;top:16px}.rail-card{border:1px solid var(--border);background:#fff;border-radius:13px;padding:16px}.rail-card h4{color:var(--navy);margin:0 0 12px;font-size:13px;font-weight:600}.paper-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:24px;display:flex}.paper-title{color:var(--navy);letter-spacing:-.02em;font-size:25px;font-weight:600}.paper-num{font-family:var(--mono);color:var(--blue);margin-top:4px;font-size:13px;font-weight:600}.paper-co{gap:12px;display:flex}.paper-co .mark{background:linear-gradient(135deg,var(--blue),#14b8a6);border-radius:11px;flex:none;place-items:center;width:44px;height:44px;display:grid;box-shadow:inset 0 0 0 1.5px #ffffff40}.paper-co .mark span{opacity:.95;background:#fff;border-radius:4px;width:17px;height:17px;transform:rotate(45deg)}.li th,.li td{padding:6px 8px}.li thead th{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border-bottom:1.5px solid var(--border);text-align:left;font-size:10px;font-weight:600}.li thead th.num{text-align:right}.li tbody tr{border-bottom:1px solid var(--panel-2)}.li input{width:100%;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:6px;outline:none;padding:7px 9px;font-family:inherit;font-size:13px}.li input:hover{background:var(--panel)}.li input:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px #1f6bd01f}.li input.num,.li td.num{text-align:right;font-family:var(--mono)}.li .li-del{color:#c2cad8;cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;width:26px;height:26px;display:grid}.li .li-del:hover{color:var(--red);background:#e0584a1f}.add-line{color:var(--blue);cursor:pointer;background:0 0;border:1px dashed #c8d4e6;border-radius:8px;align-items:center;gap:7px;margin-top:12px;padding:8px 13px;font-size:12.5px;font-weight:600;display:inline-flex}.add-line:hover{border-color:var(--blue);background:#f4f8fe}.totals{flex-direction:column;gap:9px;width:330px;margin-top:24px;margin-left:auto;display:flex}.totals .row{color:var(--ink-2);justify-content:space-between;font-size:13px;display:flex}.totals .row .v{font-family:var(--mono);color:var(--navy);font-weight:600}.totals .net{color:#fff;background:#0f1c33;border-radius:10px;justify-content:space-between;align-items:center;margin-top:6px;padding:12px 14px;display:flex}.totals .net .v{font-family:var(--mono);color:#fff;font-size:16px;font-weight:600}.stamp{border:1.5px dashed var(--border-2);width:140px;height:74px;color:var(--ink-3);text-align:center;border-radius:10px;place-items:center;font-size:11px;display:grid}@media (width<=980px){.editor{flex-direction:column}.editor .rail{flex-flow:wrap;width:100%;position:static}.rail-card{flex:1;min-width:220px}}.av-lg{background:linear-gradient(135deg,var(--blue),#14b8a6);color:#fff;border-radius:13px;flex:none;place-items:center;width:46px;height:46px;font-size:16px;font-weight:600;display:grid;box-shadow:inset 0 0 0 1.5px #ffffff40}.drow{border-bottom:1px solid var(--panel-2);align-items:center;gap:11px;padding:10px 0;font-size:13px;display:flex}.drow:last-child{border-bottom:none}.drow .di{background:var(--panel-2);width:30px;height:30px;color:var(--ink-3);border-radius:8px;flex:none;place-items:center;display:grid}.drow .dk{color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;min-width:70px;font-size:11px}.drow .dv{color:var(--navy);word-break:break-word;flex:1;min-width:0;font-weight:500}.drow .da{gap:4px;margin-left:auto;display:flex}.add-row{border-top:1px dashed var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding-top:12px;display:flex}.add-row input,.add-row select{border:1px solid var(--border);font:inherit;border-radius:8px;padding:8px 10px;font-size:13px}.two-col{grid-template-columns:1fr 320px;align-items:start;gap:18px;display:grid}@media (width<=900px){.two-col{grid-template-columns:1fr}}.muted{color:var(--ink-3)}.tb-burger{border:1px solid var(--border);width:36px;height:36px;color:var(--ink-2);background:#fff;border-radius:9px;flex:none;place-items:center;display:none}.tb-burger svg{width:18px;height:18px}.sb-backdrop{display:none}@media (width<=880px){.tb-burger{display:grid}.sb{z-index:80;transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:0 0 60px -10px #14233f8c}.sb.open{transform:none}.sb-backdrop{z-index:75;background:#14233f73;display:block;position:fixed;inset:0}.tb-crumb{display:none}}@media (width<=560px){.grid{grid-template-columns:1fr}.main{padding:16px 14px 24px}.tb{gap:10px;height:54px;padding:0 12px}.search{padding:8px 11px}.panel{padding:14px}.page-head{gap:10px;margin-bottom:18px}.hub-title{font-size:20px}.btn-create{padding:9px 12px}}@media print{body *{visibility:hidden}.doc-preview-modal,.doc-preview-modal *{visibility:visible}.doc-preview-modal{box-shadow:none;padding:0;position:absolute;inset:0;width:auto!important;max-width:none!important}.doc-preview-modal .no-print{display:none!important}.modal-bg{background:0 0;padding:0;display:block;position:static}.doc-sheet{border:none!important;border-radius:0!important}}:root{--r-sm:8px;--r-md:11px;--r-lg:15px;--r-xl:18px;--shadow-xs:0 1px 2px #14233f0d;--shadow-sm:0 1px 2px #14233f0d, 0 2px 6px -2px #14233f1a;--shadow-md:0 8px 20px -8px #14233f2e;--shadow-lg:0 28px 56px -28px #14233f73;--ring:0 0 0 3px #1f6bd04d}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{box-shadow:var(--ring);border-radius:8px;outline:none}.nav-item:focus-visible,.sb-user:focus-visible,.sb-search:focus-visible{box-shadow:0 0 0 2px #ffffff80}.card{border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--border-2)}.panel{border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.modal,.kbd-box{border-radius:var(--r-xl);box-shadow:var(--shadow-lg)}.create-menu{box-shadow:var(--shadow-md);border-radius:14px}.feat{border-radius:var(--r-md);transition:border-color .16s,box-shadow .16s}.feat:hover{border-color:var(--border-2);box-shadow:var(--shadow-xs)}.btn,.btn-create,.btn-primary,.ic-btn{border-radius:var(--r-sm)}.btn:active:not(:disabled),.btn-create:active,.btn-primary:active:not(:disabled),.ic-btn:active{transform:translateY(1px)}.control:focus-within,.modal .field input:focus,.modal .field select:focus,.add-row input:focus,.add-row select:focus,.li input:focus{box-shadow:var(--ring);border-color:var(--blue)}.tbl th{color:var(--ink-2)}.tbl tr.row:hover{background:var(--blue-soft)}.hub-title{letter-spacing:-.025em;line-height:1.12}.hub-sub,.card-desc{line-height:1.55}.empty{flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:120px;display:flex}@media (width<=880px){.toolbar{flex-wrap:wrap}.totals{width:100%}}@media (width<=560px){.kv{grid-template-columns:1fr 1fr}.page-actions{flex-wrap:wrap}.hub-head{gap:10px}.hub-ic{width:40px;height:40px}}.main-inner{max-width:1680px;margin:0 auto}.table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.table-wrap>.tbl{width:100%}.table-wrap>.tbl th,.table-wrap>.tbl td{white-space:nowrap}@media (width<=1024px){.main{padding:22px 20px 28px}.toolbar,.page-actions{flex-wrap:wrap}.kv{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}@media (width>=1480px){.grid.kpi-5{grid-template-columns:repeat(5,1fr)}}@media (width<=880px){.page-head{flex-wrap:wrap}.page-head .page-actions{width:100%}}@media (width<=560px){.page-actions{gap:8px}.page-actions .btn{flex:1;justify-content:center}.modal{padding:18px}.modal .two{grid-template-columns:1fr}.toolbar{gap:8px}.toolbar>.search,.toolbar>select,.toolbar>input{flex:100%;width:100%;max-width:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.card:hover{transform:none}}.input,.select,.textarea{width:100%;color:var(--ink);border:1px solid var(--border);border-radius:var(--r-sm);background:#fff;outline:none;padding:9px 12px;font-family:inherit;font-size:13.5px;transition:border-color .14s,box-shadow .14s}.input::placeholder,.textarea::placeholder{color:var(--ink-3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--blue);box-shadow:var(--ring)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--panel-2);color:var(--ink-3);cursor:not-allowed}.input[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--red)}.textarea{resize:vertical;min-height:84px;line-height:1.5}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b97ab' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:30px}.input.sm,.select.sm{padding:7px 10px;font-size:13px}.input.w-sm{width:130px}.input.w-xs{width:96px}.field.inline{margin-bottom:0}.field>label{color:var(--ink-2);font-size:12.5px;font-weight:600}.form-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips.tight{gap:6px}.filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filters>.input,.filters>.select{width:auto}.filters>.grow{flex:200px;min-width:0}.row{align-items:center;gap:10px;display:flex}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.ml-auto{margin-left:auto}.crumbs{flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:12px;font-size:12.5px;display:flex}.crumbs-seg{align-items:center;gap:7px;display:inline-flex}.crumbs-link{color:var(--ink-3);border-radius:5px;font-weight:500}a.crumbs-link:hover{color:var(--blue)}.crumbs-sep{color:var(--border-2)}.crumbs-cur{color:var(--navy);font-weight:600}.tb-crumb a{color:var(--navy)}.tb-crumb a:hover{color:var(--blue)}@media (width<=560px){.filters>.input,.filters>.select,.filters>.grow{flex:100%;width:100%}.input.w-sm,.input.w-xs{width:100%}}.kpi-card{border:1px solid var(--border);text-align:left;background:#fff;border-radius:13px;width:100%;padding:16px 18px;transition:border-color .18s,box-shadow .22s,transform .22s}.kpi-card.click{cursor:pointer}.kpi-card.click:hover{border-color:var(--border-2);transform:translateY(-2px);box-shadow:0 18px 36px -26px #14233f80}.kpi-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.kpi-label{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12.5px;font-weight:600;overflow:hidden}.kpi-ic{border-radius:8px;flex:none;place-items:center;width:30px;height:30px;display:grid}.kpi-ic svg{width:16px;height:16px}.kpi-val{color:var(--navy);letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;margin-top:12px;font-size:26px;font-weight:600;overflow:hidden}@media (width<=560px){.kpi-val{font-size:22px}}.doc-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:2px;margin-bottom:16px;display:flex}.doc-tab{color:var(--ink-3);cursor:pointer;background:0 0;border:none;padding:11px 13px;font-size:13.5px;font-weight:500;transition:color .12s;position:relative}.doc-tab:hover{color:var(--navy)}.doc-tab .c{font-family:var(--mono);color:#b6bfce;margin-left:6px;font-size:11px}.doc-tab.on{color:var(--navy);font-weight:600}.doc-tab.on .c{color:var(--blue);font-weight:600}.doc-tab.on:after{content:"";background:var(--blue);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:8px;right:8px}.doc-kpis{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}@media (width<=900px){.doc-kpis{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.doc-kpis{grid-template-columns:1fr}}.doc-kpi{border:1px solid var(--border);background:#fff;border-radius:13px;align-items:center;gap:14px;padding:15px 17px;display:flex}.doc-kpi .t{border-radius:11px;flex:none;place-items:center;width:44px;height:44px;display:grid}.doc-kpi .t svg{width:22px;height:22px}.doc-kpi .l{color:var(--ink-3);font-size:12.5px;font-weight:500}.doc-kpi .v{color:var(--navy);letter-spacing:-.02em;white-space:nowrap;margin-top:3px;font-size:18px;font-weight:600}.doc-kpi .v .u{color:#9aa6b8;margin-left:4px;font-size:10.5px;font-weight:500}.cust{align-items:center;gap:8px;display:inline-flex}.cust-av{width:26px;height:26px;color:var(--ink-3);background:#f0f3f8;border-radius:50%;flex:none;place-items:center;display:grid}.cust-av svg{width:14px;height:14px}.ref-link{font-family:var(--mono);color:var(--blue);white-space:nowrap;font-weight:600}.ref-link:hover{text-decoration:underline}.amt2{text-align:right;white-space:nowrap}.amt2 .ht{font-family:var(--mono);color:#9aa6b8;margin-top:2px;font-size:11.5px}.editor .paper{padding:44px 48px 36px}.paper-title.xl{letter-spacing:.01em;font-size:32px;font-weight:700;line-height:1}.paper-num.mono{font-family:var(--mono);color:#9aa6b8;font-size:15px;font-weight:600}.party-grid{grid-template-columns:1fr 1fr;gap:44px;margin:30px 0 34px;display:grid}@media (width<=720px){.party-grid{grid-template-columns:1fr;gap:22px}}.party-h{color:var(--ink-2);border-bottom:2px solid var(--navy);margin-bottom:4px;padding-bottom:9px;font-size:13px;font-weight:600}.party-row{border-bottom:1px solid #f1f3f7;align-items:center;gap:14px;padding:9px 0;display:flex}.party-row .k{color:var(--ink-3);flex:none;width:120px;font-size:12.5px}.party-row .val{min-width:0;color:var(--navy);flex:1;font-size:13.5px;font-weight:600}.vat-break{border-collapse:collapse;width:100%}.vat-break th{color:var(--ink-2);border:1px solid var(--border);text-align:left;background:#f6f8fb;padding:10px 12px;font-size:11px;font-weight:600}.vat-break th.num,.vat-break td.num{text-align:right}.vat-break td{font-family:var(--mono);color:var(--navy);border:1px solid #eef1f6;padding:9px 12px;font-size:12.5px}.totbox{border-top:2px solid var(--navy);border-bottom:2px solid var(--navy)}.totbox .row{color:var(--ink-2);border-bottom:1px solid #f1f3f7;justify-content:space-between;align-items:center;padding:11px 4px;font-size:13px;display:flex}.totbox .row .v{font-family:var(--mono);color:var(--navy);font-size:13.5px;font-weight:600}.totbox .net{background:#0f1c33;border-radius:0 0 4px 4px;justify-content:space-between;align-items:center;margin:6px -12px 0;padding:13px 12px;display:flex}.totbox .net .l{color:#fff;font-size:13px;font-weight:600}.totbox .net .v{font-family:var(--mono);color:#fff;font-size:16px;font-weight:700}.paper-foot{border-top:2px solid var(--navy);grid-template-columns:1fr 1fr 1fr;gap:30px;margin-top:36px;padding-top:20px;display:grid}@media (width<=720px){.paper-foot{grid-template-columns:1fr;gap:18px}}.paper-foot h5{color:var(--navy);margin:0 0 9px;font-size:12.5px;font-weight:600}.paper-foot p{color:var(--ink-3);font-size:12.5px;line-height:1.65}@keyframes copilot-in{0%{transform:translate(100%)}to{transform:translate(0)}}.route-loading{min-height:40vh;color:var(--ink-3);justify-content:center;align-items:center;gap:10px;font-size:13.5px;display:flex}.route-loading-spin{border:2px solid var(--border-2);border-top-color:var(--blue);border-radius:50%;flex:none;width:16px;height:16px;animation:.7s linear infinite route-spin}@keyframes route-spin{to{transform:rotate(360deg)}}
