:root{--bg:#F5F6F8;--panel:#FFFFFF;--raised:#F0F2F5;--line:#E4E8ED;--line2:#CFD6DE;--ink:#111519;--ink2:#2B333C;--dim:#5C6773;--dim2:#7A8591;--dim3:#A3ACB6;--accent:#0E86B6;--on-accent:#FFFFFF;--accent-bg:rgba(14,134,182,.10);--ok:#1F8A3B;--warn:#A8700F;--bad:#C93A31;--ai:#6B3FD1;--ok-bg:rgba(31,138,59,.10);--warn-bg:rgba(168,112,15,.12);--bad-bg:rgba(201,58,49,.10);--ai-bg:rgba(107,63,209,.10);--hover:#F3F6F9;--avatar:#E9EDF1;--sans:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace}*{box-sizing:border-box}body,html{margin:0;padding:0;background:#FFFFFF;color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer}button,input,select,textarea{font:inherit;color:inherit}h1{font-size:20px;font-weight:600;letter-spacing:-.01em}h1,h2{margin:0}h2{font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.muted,h2{color:var(--dim)}.muted2{color:var(--dim2)}.mono{font-family:var(--mono);font-size:12.5px}.eyebrow{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim2);font-weight:500}.note{font-size:12px;color:var(--dim);line-height:1.5}.dapp{display:flex;flex-direction:column;min-height:100vh;background:#FFFFFF}.dtop{height:64px;gap:16px;padding:0 20px 0 18px;background:#FFFFFF}.dbrand,.dtop{flex-shrink:0;display:flex;align-items:center}.dbrand{gap:10px;width:262px;color:var(--ink)}.dbrand:hover{text-decoration:none}.dbrand img{width:30px;height:30px}.dbrand b{font-size:15px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;display:block}.dbrand .s{display:block;font-size:11px;color:var(--dim2);margin-top:-2px}.dsearch{max-width:640px;height:44px;border-radius:22px;background:#EEF1F4;display:flex;align-items:center;gap:12px;padding:0 18px;color:var(--dim)}.dsearch,.dsearch input{flex-grow:1;font-size:14px}.dsearch input{border:0;background:transparent;outline:none;color:var(--ink)}.dtop .right{margin-left:auto;display:flex;align-items:center;gap:14px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--avatar);color:var(--ink2);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.dbody{display:flex;flex-grow:1;min-height:0}.dnav{width:262px;flex-shrink:0;padding:6px 12px 18px;display:flex;flex-direction:column;gap:2px}.newbtn{display:inline-flex;align-items:center;gap:12px;height:48px;padding:0 22px 0 18px;border-radius:16px;background:#FFFFFF;border:0;box-shadow:0 1px 2px rgba(60,64,67,.3),0 1px 3px 1px rgba(60,64,67,.15);font-size:14px;font-weight:500;color:var(--ink);align-self:flex-start;margin:6px 0 14px 4px}.newbtn:hover{background:#F8F9FA;text-decoration:none}.newbtn svg{stroke:var(--accent)}.dnavitem{display:flex;align-items:center;gap:14px;height:38px;padding:0 14px 0 30px;margin-left:-12px;border-radius:0 20px 20px 0;font-size:13.5px;color:var(--ink2)}.dnavitem:hover{background:var(--hover);text-decoration:none}.dnavitem svg{stroke:var(--dim);flex-shrink:0}.dnavitem.on{background:var(--accent-bg);color:var(--accent);font-weight:500}.dnavitem.on svg{stroke:var(--accent)}.dnavitem .cnt{margin-left:auto;font-family:var(--mono)}.dnav .foot,.dnavitem .cnt{font-size:11.5px;color:var(--dim2)}.dnav .foot{margin-top:auto;padding:14px 18px 0;line-height:1.6}.dmain{flex-grow:1;min-width:0;display:flex;flex-direction:column;background:#FFFFFF;border:1px solid var(--line);border-right:0;border-bottom:0;border-radius:16px 0 0 0;padding:16px 26px 40px;gap:12px}.dmain.plain{border:0;border-radius:0;padding:16px 40px 40px}.dcrumb{display:flex;align-items:center;gap:6px;font-size:18px;color:var(--dim);font-weight:400;letter-spacing:-.01em;flex-wrap:wrap}.dcrumb b{color:var(--ink);font-weight:500}.dcrumb a{color:var(--dim)}.dcrumb svg{stroke:var(--dim3)}.dcrumb .spacer{margin-left:auto}.dchips{display:flex;gap:8px;flex-wrap:wrap}.dchip,.dchips{align-items:center}.dchip{display:inline-flex;gap:6px;height:30px;padding:0 12px;border:1px solid var(--line2);border-radius:8px;font-size:12.5px;color:var(--ink2);background:#FFFFFF}.dchip:hover{background:var(--hover);text-decoration:none}.dchip.on{background:var(--accent-bg);border-color:var(--accent-bg);color:var(--accent)}.btn{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:8px;border:1px solid var(--line2);background:#FFFFFF;font-size:13px;font-weight:500;color:var(--ink2);white-space:nowrap}.btn:hover{background:var(--hover);text-decoration:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover{background:#0B739D}.btn.sm{height:28px;padding:0 10px;font-size:12px}.btn.quiet{border-color:transparent;background:transparent;color:var(--dim)}.btn.quiet:hover{color:var(--ink);background:var(--hover)}.btn.danger{color:var(--bad);border-color:var(--bad-bg)}.btn:disabled{opacity:.5;cursor:default}.btn svg{stroke:currentColor}.pill{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:11px;font-size:11.5px;font-weight:500;background:var(--raised);color:var(--ink2);white-space:nowrap}.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.warn{background:var(--warn-bg);color:var(--warn)}.pill.bad{background:var(--bad-bg);color:var(--bad)}.pill.ai{background:var(--ai-bg);color:var(--ai)}.pill.ac{background:var(--accent-bg);color:var(--accent)}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:12px;color:var(--dim);font-weight:500}.input,input.input,select.input,textarea.input{height:38px;border:1px solid var(--line2);border-radius:8px;padding:0 12px;font-size:13.5px;background:#FFFFFF;outline:none;width:100%}textarea.input{height:auto;min-height:72px;padding:10px 12px;resize:vertical}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.chk{display:flex;align-items:center;gap:10px;font-size:13px}.chk input{width:16px;height:16px;accent-color:var(--accent)}.card{border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:#FFFFFF}.alert{border:1px solid var(--warn);background:var(--warn-bg);border-radius:10px;padding:10px 14px;font-size:13px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.alert.bad{border-color:var(--bad);background:var(--bad-bg)}.alert.ok{border-color:var(--ok);background:var(--ok-bg)}.dtable{width:100%;border-collapse:collapse}.dtable th{text-align:left;font-weight:500;font-size:12px;color:var(--dim);padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.dtable td{padding:0 10px;height:48px;border-bottom:1px solid #eef1f4;font-size:13.5px;color:var(--ink2);vertical-align:middle}.dtable tr.row:hover td{background:#F3F6F9}.dtable tr.sel td{background:var(--accent-bg)}.dtable .nm{display:flex;align-items:center;gap:12px;font-weight:500;min-width:0}.dtable .nm,.dtable .nm a{color:var(--ink)}.dtable .nm svg{flex-shrink:0}.dtable .nm .txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dtable .sub{display:block;font-size:12px;color:var(--dim2);font-weight:400;margin-top:2px}.dtable .acts{display:flex;gap:4px;justify-content:flex-end;opacity:.45}.dtable .acts.always,.dtable tr.sel .acts,.dtable tr:hover .acts{opacity:1}.dtable .acts.always .ibtn{color:var(--ink2)}.dtable .sechead td{height:36px;background:#F8FAFC;font-size:12px;color:var(--dim);font-weight:500}.fi{width:20px;height:24px;border:1.5px solid var(--dim2);color:var(--dim2);border-radius:3px;display:inline-flex;align-items:flex-end;justify-content:center;font-size:7px;font-weight:700;padding-bottom:1px;flex-shrink:0;letter-spacing:.02em}.fi.xlsx{color:#1E7E34;border-color:#1E7E34}.fi.pdf{color:#C62828;border-color:#C62828}.fi.docx{color:#1565C0;border-color:#1565C0}.fi.csv{color:#6B7280;border-color:#6B7280}.fi.img{color:#8E44AD;border-color:#8E44AD}.ibtn{width:32px;height:32px;border-radius:16px;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;color:var(--dim);padding:0}.ibtn:hover{background:#E8EAED;color:var(--ink);text-decoration:none}.ibtn svg{stroke:currentColor}.fold{stroke:var(--dim)}.newdot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-left:2px;flex-shrink:0}.dempty{border:1.5px dashed var(--line2);border-radius:12px;padding:26px;text-align:center;color:var(--dim2);font-size:13px;margin-top:8px;transition:background .15s,border-color .15s}.dempty.over{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.rgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:6px}.rcard{border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:8px;background:#FFFFFF;color:var(--ink)}.rcard:hover{background:#F8FAFC;text-decoration:none}.rcard .t{display:flex;align-items:center;gap:10px;font-size:14.5px;font-weight:500;color:var(--ink)}.rcard .t svg{stroke:var(--accent)}.rcard .m{font-size:12.5px;color:var(--dim)}.rcard.dashed{border-style:dashed;justify-content:center;align-items:center;color:var(--dim2);text-align:center;min-height:132px}.rcard .row{display:flex;gap:6px;margin-top:4px;flex-wrap:wrap}.tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:10px;gap:10px}.tile{border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:#FFFFFF}.tile .v{font-size:22px;font-weight:600;letter-spacing:-.02em;font-family:var(--mono)}.tile .l{font-size:12px;color:var(--dim);margin-top:4px}.tile.ok .v{color:var(--ok)}.tile.warn .v{color:var(--warn)}.tile.bad .v{color:var(--bad)}.bar{height:8px;border-radius:4px;background:var(--raised);overflow:hidden}.bar i{display:block;height:100%;background:var(--accent)}.bar i.warn{background:var(--warn)}.bar i.ok{background:var(--ok)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line)}.tab{padding:9px 14px;font-size:13px;color:var(--dim);margin-bottom:-1px;background:transparent;border:0;border-bottom:2px solid transparent}.tab.on{color:var(--accent);border-bottom-color:var(--accent);font-weight:500}.tab:hover{color:var(--ink);text-decoration:none}.pv{position:fixed;inset:0;background:rgba(17,21,25,.88);display:flex;flex-direction:column;z-index:50}.pvbar{height:60px;gap:14px;padding:0 20px;color:#FFFFFF;flex-shrink:0}.pvbar,.pvbar .nm{display:flex;align-items:center}.pvbar .nm{gap:12px;font-size:14px;font-weight:500;min-width:0}.pvbar .nm span.txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pvbar .right{margin-left:auto;display:flex}.pvbar .right,.pvbtn{align-items:center;gap:8px}.pvbtn{display:inline-flex;height:36px;padding:0 14px;border-radius:18px;color:#FFFFFF;font-size:13px;border:1px solid rgba(255,255,255,.28);background:transparent;white-space:nowrap}.pvbtn:hover{background:rgba(255,255,255,.1);text-decoration:none}.pvbtn.primary{background:#FFFFFF;color:var(--ink);border-color:#FFFFFF;font-weight:500}.pvbtn.primary:hover{background:#F0F2F5}.pvbtn svg{stroke:currentColor}.pvdoc{flex-grow:1;display:flex;align-items:stretch;justify-content:center;padding:0 24px 12px;min-height:0;position:relative}.pvframe{border-radius:6px;border:0;height:100%}.pvframe,.pvsheet{width:min(1100px,100%);background:#FFFFFF}.pvsheet{border-radius:6px;overflow:auto;position:relative;font-family:var(--mono);font-size:11.5px}.pvsheet table{border-collapse:collapse;min-width:100%}.pvsheet td,.pvsheet th{border:1px solid #e5e7eb;padding:3px 8px;white-space:nowrap;max-width:360px;overflow:hidden;text-overflow:ellipsis}.pvsheet th{background:#F3F5F8;color:#6B7280;font-weight:500}.pvsheet .tabsrow{position:-webkit-sticky;position:sticky;top:0;display:flex;gap:2px;padding:8px 10px;border-bottom:1px solid #e5e7eb;background:#FAFAFA;font-family:var(--sans);font-size:11.5px;z-index:2}.pvsheet .tabsrow button{padding:4px 10px;border:1px solid transparent;border-radius:4px;background:transparent;color:#6B7280}.pvsheet .tabsrow button.on{background:#fff;border-color:#D1D5DB;font-weight:500;color:var(--ink)}.wm{position:absolute;left:0;right:0;top:40%;text-align:center;transform:rotate(-24deg);font-size:26px;color:rgba(17,21,25,.1);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-family:var(--mono);white-space:nowrap;z-index:3}.pvfoot{height:44px;display:flex;align-items:center;justify-content:center;gap:16px;color:rgba(255,255,255,.7);font-size:12.5px;flex-shrink:0}.pvmsg{width:min(700px,100%);background:#FFFFFF;border-radius:8px;padding:40px;text-align:center;align-self:center;color:var(--dim)}.scrim{position:fixed;inset:0;background:rgba(17,21,25,.32);align-items:center;justify-content:center;z-index:40;padding:20px}.dlg,.scrim{display:flex}.dlg{width:min(600px,100%);max-height:92vh;overflow:auto;background:#FFFFFF;border-radius:14px;padding:22px 24px;flex-direction:column;gap:14px;box-shadow:0 12px 40px rgba(0,0,0,.25)}.dlg h2{font-size:18px;font-weight:500;margin:0;letter-spacing:-.01em;text-transform:none;color:var(--ink)}.dlg .actions{gap:8px;justify-content:flex-end}.dlg .actions,.prow{display:flex;align-items:center}.prow{gap:12px;padding:6px 0}.prow .who{flex-grow:1;min-width:0}.prow .who b{display:block;font-size:13.5px;font-weight:500;color:var(--ink)}.prow .who span{font-size:12px;color:var(--dim)}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px}.grid2,.grid3{display:grid;gap:12px}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);position:relative;padding:24px}.authcard{width:min(420px,100%);background:#FFFFFF;border:1px solid var(--line);border-radius:14px;padding:26px 28px;display:flex;flex-direction:column;gap:14px;box-shadow:0 8px 30px rgba(17,21,25,.06)}.authcard h1{font-size:22px}.sso{display:flex;align-items:center;justify-content:center;gap:10px;height:42px;border:1px solid var(--line2);border-radius:8px;font-size:13.5px;font-weight:500;color:var(--ink);background:#FFFFFF;width:100%}.sso:hover{background:var(--hover);text-decoration:none}.sso svg{stroke:var(--dim)}.or{display:flex;align-items:center;gap:10px;color:var(--dim3);font-size:11.5px}.or:after,.or:before{content:"";flex-grow:1;height:1px;background:var(--line)}.authfoot{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-size:11.5px;color:var(--dim2)}.err{color:var(--bad);font-size:12.5px;background:var(--bad-bg);border-radius:8px;padding:8px 12px}.nda{width:min(640px,100%);background:#FFFFFF;border:1px solid var(--line);border-radius:14px;padding:26px 28px;display:flex;flex-direction:column;gap:14px}.ndatext{border:1px solid var(--line);border-radius:8px;font-size:12.5px;line-height:1.6;max-height:320px;overflow:auto;white-space:pre-wrap;color:var(--ink2);background:#FAFBFC}.ndatext,.opt{padding:14px 16px}.opt{border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:8px;cursor:pointer;position:relative}.opt.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.opt h3{margin:0;font-size:14.5px;font-weight:600}.opt .stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.opt .stat .v{font-family:var(--mono);font-size:15px;font-weight:600}.opt .stat .l{font-size:11px;color:var(--dim2)}.tnode{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:3px 0}.tnode .ix{width:22px}.tnode .c,.tnode .ix{font-family:var(--mono);color:var(--dim2)}.tnode .c{margin-left:auto;font-size:11.5px}.uq{position:fixed;right:20px;bottom:20px;width:340px;background:#FFFFFF;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 30px rgba(17,21,25,.16);z-index:45;overflow:hidden}.uq .h{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--ink);color:#fff;font-size:13px;font-weight:500}.uq .h button{margin-left:auto;color:#fff;background:transparent;border:0}.uq .it{display:flex;align-items:center;gap:10px;padding:8px 14px;font-size:12.5px;border-bottom:1px solid var(--line)}.uq .it .n{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uq .it .s{color:var(--dim2);font-size:11.5px;white-space:nowrap}.uq .it .s.ok{color:var(--ok)}.uq .it .s.bad{color:var(--bad)}.menu{position:absolute;right:0;top:36px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(17,21,25,.14);min-width:220px;z-index:30;padding:6px}.menu a,.menu button{display:block;width:100%;text-align:left;padding:8px 12px;border:0;background:transparent;border-radius:6px;font-size:13px;color:var(--ink2)}.menu a:hover,.menu button:hover{background:var(--hover);text-decoration:none}.menu .sep{height:1px;background:var(--line);margin:6px 0}.rel{position:relative}.list-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.list-row:last-child{border-bottom:0}.kv{display:grid;grid-template-columns:150px 1fr;grid-gap:8px 16px;gap:8px 16px;font-size:13px}.kv .k{color:var(--dim)}@media (max-width:900px){.dnav{display:none}.dbrand{width:auto}.dbrand .s{display:none}.dmain,.dmain.plain{padding:14px 16px 40px;border-radius:0}.rgrid{grid-template-columns:1fr}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.grid2,.grid3,.grid4{grid-template-columns:1fr}.dsearch,.dtable td:nth-child(n+3),.dtable th:nth-child(n+3){display:none}.dtable td:last-child,.dtable th:last-child{display:table-cell}.dtable .acts{opacity:1}}.skel{height:14px;margin:14px 0;border-radius:6px;background:linear-gradient(90deg,var(--line,#e5e7eb) 25%,rgba(0,0,0,.04) 50%,var(--line,#e5e7eb) 75%);background-size:200% 100%;animation:skel 1.2s ease-in-out infinite}@keyframes skel{0%{background-position:200% 0}to{background-position:-200% 0}}