[data-theme=dark]{--bg:#0d1018;--surf:#151a26;--surf2:#1b2230;--surf3:#222b3c;--line:#262e40;--line2:#1d2433;--text:#e6e9f2;--dim:#9098ad;--faint:#5d6680;--teal:#2dd4bf;--teal-soft:rgba(45,212,191,.13);--teal-ring:rgba(45,212,191,.35);--on-teal:#04201d;--acc:#fb7a45;--acc-press:#ec6a36;--acc-soft:rgba(251,122,69,.14);--on-acc:#1a0f08;--blue:#6ea8fe;--blue-soft:rgba(110,168,254,.14);--vio:#b39dfb;--vio-soft:rgba(179,157,251,.14);--amb:#f5c451;--amb-soft:rgba(245,196,81,.14);--green:#34d39a;--green-soft:rgba(52,211,154,.14);--red:#f6736b;--red-soft:rgba(246,115,107,.14);--grad:radial-gradient(1300px 640px at 72% -12%,rgba(45,212,191,.06),transparent);--shadow:none;--brand-grad:linear-gradient(140deg,#2dd4bf,#13a89a)}[data-theme=light]{--bg:#f5f2ec;--surf:#ffffff;--surf2:#faf8f3;--surf3:#efeae1;--line:#e7e2d8;--line2:#f0ece4;--text:#262019;--dim:#736c61;--faint:#a89f91;--teal:#0c9b8c;--teal-soft:rgba(12,155,140,.12);--teal-ring:rgba(12,155,140,.32);--on-teal:#ffffff;--acc:#e0571f;--acc-press:#c8491580;--acc-soft:#fbeadf;--on-acc:#ffffff;--blue:#3164c9;--blue-soft:#e8eefb;--vio:#6d4fe0;--vio-soft:#efebfd;--amb:#bd7a0c;--amb-soft:#f8efdc;--green:#1f8a4c;--green-soft:#e5f3e9;--red:#cf3f2f;--red-soft:#fae9e6;--grad:none;--shadow:0 1px 2px rgba(60,50,40,.05),0 1px 0 rgba(255,255,255,.6) inset;--brand-grad:linear-gradient(140deg,#0c9b8c,#0a8578)}*{box-sizing:border-box}body,html{margin:0;height:100%}body{background:var(--grad),var(--bg);color:var(--text);font-family:Hanken Grotesk,system-ui,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;height:100vh;overflow:hidden;transition:background .25s,color .25s}.mono{font-family:JetBrains Mono,ui-monospace,monospace}.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--surf3);border-radius:20px;border:3px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--line)}button{cursor:pointer}button,input{font-family:inherit}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.top{height:58px;flex:none;border-bottom:1px solid var(--line);gap:14px;padding:0 22px}.brand,.top{display:flex;align-items:center}.brand{font-weight:800;letter-spacing:-.01em;gap:9px;font-size:15px}.brand .m{width:28px;height:28px;border-radius:8px;background:var(--brand-grad);display:grid;place-items:center;color:var(--on-teal);font-weight:800}.scope{display:flex;align-items:center;gap:8px;margin-left:6px;font-size:12.5px;color:var(--dim)}.scope svg{width:15px;height:15px;flex:none}.scope span{white-space:nowrap}.pivots{display:flex;gap:5px;margin-left:auto;background:var(--surf);border:1px solid var(--line);border-radius:24px;padding:4px}.pivot{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--dim);border:none;background:transparent;border-radius:20px;padding:7px 14px;transition:.13s}.pivot:hover{color:var(--text)}.pivot svg{width:15px;height:15px}.pivot .c{font-size:11px;color:var(--faint);font-family:JetBrains Mono,monospace}.pivot.on{background:var(--teal-soft);box-shadow:inset 0 0 0 1px var(--teal-ring)}.pivot.on,.pivot.on .c{color:var(--teal)}.who{display:flex;align-items:center;gap:9px;margin-left:14px;padding-left:14px;border-left:1px solid var(--line)}.who .wav{width:30px;height:30px;border-radius:9px;background:var(--brand-grad);color:var(--on-teal);display:grid;place-items:center;font-weight:800;font-size:12px;flex:none}.who .wn{font-size:12.5px;font-weight:600;line-height:1.15;white-space:nowrap}.who .wr{font-size:10.5px;color:var(--faint);letter-spacing:.04em;text-transform:uppercase}.body{flex:1 1;display:grid;grid-template-columns:300px 1fr;min-height:0}.body,.left{overflow:hidden}.left{border-right:1px solid var(--line);padding:16px;flex-direction:column;gap:12px}.find,.left{display:flex}.find{align-items:center;gap:9px;height:38px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:var(--surf);flex:none}.find svg{width:15px;height:15px;color:var(--faint)}.find input{border:none;background:transparent;color:var(--text);font-family:inherit;font-size:13px;width:100%;outline:none}.find input::placeholder{color:var(--faint)}.mini{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);flex:none}.entlist{overflow-y:auto;display:flex;flex-direction:column;gap:2px;margin:-4px;padding:4px}.ent{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:10px;border:1px solid transparent;text-align:left;background:transparent;width:100%;transition:.1s}.ent.on,.ent:hover{background:var(--surf)}.ent.on{border-color:var(--line)}.eav{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-weight:700;font-size:12px;flex:none;color:#fff}.en{font-weight:600;font-size:13px;color:var(--text)}.em,.en{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.em{font-size:11px;color:var(--faint)}.ent .est{margin-left:auto;width:7px;height:7px;border-radius:50%;flex:none}.canvas{overflow-y:auto;padding:28px 32px 40px}.hero{display:flex;align-items:center;gap:18px}.havatar{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;font-weight:800;font-size:24px;flex:none}.hname{font-size:26px;font-weight:800;letter-spacing:-.02em;align-items:center;gap:11px}.hmeta,.hname{display:flex;flex-wrap:wrap}.hmeta{gap:8px;margin-top:8px}.hactions{margin-left:auto;display:flex;gap:9px;align-self:flex-start}.btn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:9px;font-weight:600;font-size:13px;border:1px solid var(--line);background:var(--surf);color:var(--text);white-space:nowrap;transition:.12s}.btn:hover{background:var(--surf2)}.btn.acc{background:var(--acc);color:var(--on-acc);border-color:var(--acc)}.btn.acc:hover{background:var(--acc-press)}.btn.teal{background:var(--teal);color:var(--on-teal);border-color:var(--teal)}.btn.teal:hover{background:#26b8a6}.btn svg{width:16px;height:16px}.badge{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:20px;border:1px solid var(--line);color:var(--dim);white-space:nowrap}.badge.dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.b-teal{color:var(--teal);background:var(--teal-soft)}.b-acc,.b-teal{border-color:transparent}.b-acc{color:var(--acc);background:var(--acc-soft)}.b-blue{color:var(--blue);background:var(--blue-soft)}.b-blue,.b-vio{border-color:transparent}.b-vio{color:var(--vio);background:var(--vio-soft)}.b-amb{color:var(--amb);background:var(--amb-soft)}.b-amb,.b-green{border-color:transparent}.b-green{color:var(--green);background:var(--green-soft)}.b-red{color:var(--red);background:var(--red-soft);border-color:transparent}.b-mono{font-family:JetBrains Mono,monospace;font-size:11px}.grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px;margin-top:24px}@media (max-width:1100px){.grid{grid-template-columns:1fr}}.rel{background:var(--surf);border:1px solid var(--line);border-radius:16px;padding:16px 18px;box-shadow:var(--shadow)}.rh{display:flex;align-items:center;gap:10px;margin-bottom:12px}.ric{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex:none}.ric svg{width:16px;height:16px}.rt{font-weight:700;font-size:14.5px;white-space:nowrap}.rc{margin-left:auto;font-size:12px;color:var(--faint);font-family:JetBrains Mono,monospace}.item{display:flex;align-items:center;gap:11px;padding:9px 0;border-top:1px solid var(--line2);font-size:13px}.item:first-of-type{border-top:none}.item .nm{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.item .mt{margin-left:auto;font-size:11px;color:var(--faint);font-family:JetBrains Mono,monospace;white-space:nowrap}.item .miav{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-size:10px;font-weight:700;color:#fff;flex:none}.item.clickable{cursor:pointer;margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:8px}.item.clickable:hover{background:var(--surf2);border-color:transparent}.more{margin-top:11px;font-size:12.5px;font-weight:600;background:none;border:none;padding:0}.pviz{display:flex;gap:4px;margin-top:8px}.pviz i{height:6px;border-radius:3px;background:var(--teal)}.home{overflow-y:auto;padding:26px 32px 40px;max-width:1280px;margin:0 auto;width:100%}.home-head{margin-bottom:22px}.hello{font-size:26px;font-weight:800;letter-spacing:-.02em}.hello-sub{color:var(--dim);font-size:14px;margin-top:4px}.attn{background:var(--surf);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:20px}.attn-h{display:flex;align-items:center;gap:10px;padding:15px 18px;border-bottom:1px solid var(--line2)}.attn-h b{font-size:15px;white-space:nowrap}.attn-h .cnt{font-size:12px;font-weight:700;color:var(--amb);background:var(--amb-soft);border-radius:20px;padding:2px 10px}.task{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--line2)}.task:last-child{border-bottom:none}.task:hover{background:var(--surf2)}.tic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:none}.tic svg{width:18px;height:18px}.tt{font-weight:600;font-size:14px;white-space:nowrap}.ttd{font-size:12.5px;color:var(--dim);margin-top:1px}.tactions{margin-left:auto;display:flex;gap:8px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-bottom:20px}@media (max-width:900px){.kpis{grid-template-columns:repeat(2,1fr)}}.kpi{background:var(--surf);border:1px solid var(--line);border-radius:14px;padding:16px 17px;box-shadow:var(--shadow)}.kpi .l{font-size:12.5px;color:var(--dim)}.kpi .v{font-size:28px;font-weight:800;letter-spacing:-.02em;margin-top:5px}.kpi .d{font-size:12px;font-weight:600;margin-top:7px}.home-cols{display:grid;grid-template-columns:1.5fr 1fr;grid-gap:18px;gap:18px}@media (max-width:900px){.home-cols{grid-template-columns:1fr}}.panel{background:var(--surf);border:1px solid var(--line);border-radius:16px;overflow:hidden}.panel-h{display:flex;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line2);font-weight:700;font-size:14.5px;white-space:nowrap}.panel-h .lnk{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--teal);background:none;border:none;white-space:nowrap}.feed{padding:4px 0}.fitem{display:flex;align-items:center;gap:12px;padding:11px 18px;border-bottom:1px solid var(--line2)}.fitem:last-child{border-bottom:none}.fitem .fdot{width:8px;height:8px;border-radius:50%;flex:none}.fitem .fx{flex:1 1;min-width:0}.fitem .fa{font-size:13px}.fitem .fm{font-size:11.5px;color:var(--faint)}.fitem .ft{font-size:11px;color:var(--faint);font-family:JetBrains Mono,monospace;white-space:nowrap}.quick{padding:12px;flex-direction:column;gap:9px}.qa,.quick{display:flex}.qa{align-items:center;gap:12px;background:var(--surf2);border:1px solid var(--line);border-radius:12px;padding:13px 15px;font-weight:600;font-size:13.5px;color:var(--text);width:100%;text-align:left;transition:.12s;white-space:nowrap}.qa:hover{border-color:var(--teal-ring);background:var(--surf3)}.qa svg{width:18px;height:18px;color:var(--teal)}.qa .ar{margin-left:auto;color:var(--faint)}.audit{overflow-y:auto;padding:26px 32px 40px;max-width:1280px;margin:0 auto;width:100%}.audit-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap}.seg{display:flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--surf)}.seg button{padding:8px 14px;font-size:12.5px;color:var(--dim);font-weight:600;border:none;background:transparent;border-right:1px solid var(--line)}.seg button:last-child{border-right:none}.seg button.on{background:var(--teal-soft);color:var(--teal)}.aud-card{background:var(--surf);border:1px solid var(--line);border-radius:16px;overflow:hidden}.aud-row{display:grid;grid-template-columns:150px 1fr 200px 110px;align-items:center;grid-gap:14px;gap:14px;padding:13px 18px;border-bottom:1px solid var(--line2)}.aud-row.head{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);font-weight:700}.aud-row:last-child{border-bottom:none}.aud-row:not(.head):hover{background:var(--surf2)}.aud-time{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--dim)}.aud-actor{display:flex;align-items:center;gap:10px;min-width:0}.aud-actor .av{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:10px;font-weight:700;color:#fff;flex:none}.aud-sub{font-size:12.5px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:820px){.aud-row{grid-template-columns:1fr 90px}.aud-sub,.aud-time{display:none}}.foot{justify-content:space-between;padding:13px 18px;border-top:1px solid var(--line2);font-size:12.5px;color:var(--faint)}.foot,.theme-tgl{display:flex;align-items:center}.theme-tgl{gap:0;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--surf)}.theme-tgl button{width:34px;height:32px;display:grid;place-items:center;border:none;background:transparent;color:var(--faint)}.theme-tgl button svg{width:16px;height:16px}.theme-tgl button.on{background:var(--teal-soft);color:var(--teal)}.iconbtn{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;border:1px solid var(--line);background:var(--surf);color:var(--dim)}.iconbtn:hover{color:var(--text);background:var(--surf2)}.iconbtn svg{width:17px;height:17px}.empty{display:flex;flex-direction:column;align-items:center;gap:9px;padding:50px;color:var(--faint);text-align:center}.empty svg{width:30px;height:30px;opacity:.5}.login{height:100vh;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden}@media (max-width:840px){.login{grid-template-columns:1fr}.login-brand{display:none}}.login-brand{position:relative;overflow:hidden;padding:54px 56px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(150deg,#0c2a2a,#0d1018 62%)}.login-brand:after{content:"";position:absolute;inset:0;background:radial-gradient(900px 540px at 18% 8%,rgba(45,212,191,.16),transparent 60%);pointer-events:none}.lb-top{display:flex;align-items:center;gap:11px;font-weight:800;font-size:17px;letter-spacing:-.01em;z-index:1}.lb-top .m{width:34px;height:34px;border-radius:10px;background:var(--brand-grad);display:grid;place-items:center;color:var(--on-teal);font-weight:800;font-size:16px}.lb-mid{z-index:1;max-width:440px}.lb-title{font-size:34px;font-weight:800;letter-spacing:-.025em;line-height:1.12;color:#f3f6fb}.lb-sub{margin-top:16px;font-size:14.5px;line-height:1.6;color:#aab4c6}.lb-tags{display:flex;gap:9px;margin-top:26px;flex-wrap:wrap}.lb-tags .badge{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.09);color:#c4cdde}.lb-foot{z-index:1;font-size:12px;color:#5d6680;font-family:JetBrains Mono,monospace}.login-form-wrap{display:grid;place-items:center;padding:24px;background:var(--bg)}.login-form{width:100%;max-width:368px}.lf-h{font-size:24px;font-weight:800;letter-spacing:-.02em;color:var(--text)}.lf-sub{margin:7px 0 26px;font-size:13.5px;color:var(--dim)}.lf-lbl{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-weight:700;margin-bottom:7px}.lf-input{display:flex;align-items:center;gap:10px;height:44px;border:1px solid var(--line);border-radius:11px;padding:0 13px;background:var(--surf);transition:.14s}.lf-input:focus-within{border-color:var(--teal-ring);box-shadow:0 0 0 3px var(--teal-soft)}.lf-input svg{width:16px;height:16px;color:var(--faint);flex:none}.lf-input input{border:none;background:transparent;color:var(--text);font-size:14px;width:100%;outline:none}.lf-input input::placeholder{color:var(--faint)}.lf-eye{background:none;border:none;color:var(--faint);display:grid;place-items:center;padding:0}.lf-eye:hover{color:var(--dim)}.lf-row{margin-bottom:16px}.lf-submit{width:100%;height:46px;margin-top:8px;border:none;border-radius:11px;background:var(--brand-grad);color:var(--on-teal);font-weight:700;font-size:14.5px;display:flex;align-items:center;justify-content:center;gap:8px;transition:.14s}.lf-submit:hover{filter:brightness(1.06)}.lf-submit:disabled{opacity:.6;cursor:default}.lf-err{display:flex;align-items:center;gap:8px;padding:10px 13px;margin-bottom:18px;font-size:13px;color:var(--red);background:var(--red-soft);border:1px solid color-mix(in srgb,var(--red) 28%,transparent);border-radius:11px}.lf-err svg{width:15px;height:15px;flex:none}.lf-note{margin-top:20px;font-size:12px;color:var(--faint);text-align:center;line-height:1.5}