:root{--bg:#f6f8fb;--panel:#fff;--panel-2:#f6f8fb;--panel-3:#edf1f6;--line:#e6ebf1;--line-strong:#d5dce6;--text:#0a2540;--soft:#3c4f69;--muted:#697386;--faint:#8792a2;--accent:#1a66e0;--accent-2:#2b46c8;--accent-ink:#fff;--accent-wash:#1a66e014;--ok:#0e8a5f;--ok-wash:#0e8a5f1a;--warn:#b25e09;--warn-wash:#d6891021;--bad:#cd3d4f;--bad-wash:#cd3d4f17;--paper:#fff;--paper-ink:#151821;--paper-muted:#6a7080;--paper-line:#e2e4ea;--sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--serif:var(--sans);--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--r-s:6px;--r-m:8px;--r-l:10px;--bar:56px;--side:0px;--shadow:0 1px 2px #0a25400d, 0 2px 6px -1px #0a25400f}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font:400 14px/1.5 var(--sans);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11", "ss01", "calt";letter-spacing:-.003em;margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}::selection{background:#1a66e033}.num{font-variant-numeric:tabular-nums}.mono{font-family:var(--mono);font-size:12.5px}.muted{color:var(--muted)}.soft{color:var(--soft)}.right{text-align:right}.nowrap{white-space:nowrap}.grow{flex:1;min-width:0}.row{align-items:center;gap:10px;display:flex}.col{flex-direction:column;gap:10px;display:flex}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.shell{flex-direction:column;min-height:100%;display:flex}.bar{z-index:30;height:var(--bar);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px)saturate(160%);backdrop-filter:blur(14px)saturate(160%);background:#ffffffdb;flex:none;align-items:center;gap:14px;padding:0 28px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;display:flex}.brand-mark{width:26px;height:26px;display:block}.brand-name{letter-spacing:-.01em;white-space:nowrap;font-size:14.5px;font-weight:600}.bar-sep{background:var(--line-strong);width:1px;height:18px}.bar-tool{color:var(--soft);white-space:nowrap;font-size:14.5px}.bar-right{color:var(--muted);white-space:nowrap;align-items:center;gap:18px;margin-left:auto;font-size:12.5px;display:flex}.bar-right .jde{align-items:center;gap:8px;display:flex}.dot{background:var(--ok);width:7px;height:7px;box-shadow:0 0 0 3px var(--ok-wash);border-radius:50%;flex:none}.dot.is-warn{background:var(--warn);box-shadow:0 0 0 3px var(--warn-wash)}.dot.is-bad{background:var(--bad);box-shadow:0 0 0 3px var(--bad-wash)}.dot.is-idle{background:var(--faint);box-shadow:none}.main{flex:1;min-width:0;padding:24px 28px 56px}.page{max-width:1360px;margin:0 auto}.page-head{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px;margin-bottom:16px;display:flex}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.launch{flex:1;place-items:center;padding:28px;display:grid}.launch-in{gap:10px;width:min(560px,100%);display:grid}.launch a{border-radius:var(--r-l);border:1px solid var(--line);background:var(--panel);align-items:center;gap:14px;padding:18px 20px;font-size:16px;transition:border-color .12s,background .12s;display:flex}.launch a:hover{border-color:var(--accent);background:var(--panel-2)}.launch a svg{width:18px;height:18px;color:var(--accent)}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow)}.card-pad{padding:18px 20px}.card-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.card-head h2{font-size:14px;font-weight:500}.card-head .hint{color:var(--muted);font-size:12.5px}.grid{gap:14px;display:grid}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.split{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow);padding:16px 18px}.stat-label{color:var(--muted);font-size:12.5px}.stat-value{font:600 26px/1.15 var(--sans);letter-spacing:-.025em;font-variant-numeric:tabular-nums;margin-top:6px}.stat-sub{color:var(--muted);margin-top:6px;font-size:12.5px}.stat-sub.is-ok{color:var(--ok)}.stat-sub.is-warn{color:var(--warn)}.btn{border:1px solid var(--line-strong);background:var(--panel);height:34px;color:var(--text);white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13.5px;font-weight:500;transition:background .12s,border-color .12s,transform 60ms;display:inline-flex;box-shadow:0 1px 1px #0a25400a}.btn:hover{background:var(--panel-2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--text);color:#fff;border-color:var(--text)}.btn-primary:hover{background:#17375e}.btn-accent{background:var(--accent);color:#fff;border-color:#0000;box-shadow:0 1px 2px #1a66e059}.btn-accent:hover{background:#1558c7}.btn-ghost{box-shadow:none;color:var(--soft);background:0 0;border-color:#0000}.btn-s{border-radius:7px;height:28px;padding:0 10px;font-size:12.5px}.btn svg{width:15px;height:15px}.input,.select{border:1px solid var(--line-strong);background:var(--panel);height:34px;color:var(--text);border-radius:9px;min-width:0;padding:0 11px;font-size:13.5px}.input::placeholder{color:var(--faint)}.input:focus,.select:focus{border-color:var(--accent);outline:none}.input-s{border-radius:7px;height:28px;padding:0 8px;font-size:12.5px}.seg{background:var(--panel-3);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.seg button{height:27px;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:0 11px;font-size:12.5px;font-weight:500}.seg button:hover{color:var(--text)}.seg button.is-on{background:var(--panel);color:var(--text);box-shadow:0 1px 2px #0a25401f}.seg button .n{color:var(--faint);font-variant-numeric:tabular-nums;margin-left:6px}.badge{white-space:nowrap;background:var(--panel-3);height:22px;color:var(--soft);border-radius:999px;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:500;display:inline-flex}.badge.t-ok{background:var(--ok-wash);color:var(--ok)}.badge.t-warn{background:var(--warn-wash);color:var(--warn)}.badge.t-bad{background:var(--bad-wash);color:var(--bad)}.badge.t-accent{background:var(--accent-wash);color:var(--accent)}.badge i{background:currentColor;border-radius:50%;width:6px;height:6px}.table{border-collapse:collapse;width:100%;font-size:13.5px}.table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 14px;font-size:12.5px;font-weight:400}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 14px}.table tr:last-child td{border-bottom:0}.table tbody tr.is-click{cursor:pointer}.table tbody tr.is-click:hover td{background:#0a254006}.table tbody tr.is-sel td{background:var(--accent-wash)}.table .right{text-align:right}.table-wrap{overflow-x:auto}.cell-main{font-weight:500}.cell-sub{color:var(--muted);font-size:12.5px}.conf{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:12.5px;display:inline-flex}.conf-bar{background:var(--panel-3);border-radius:4px;width:44px;height:4px;overflow:hidden}.conf-bar span{background:var(--ok);border-radius:4px;height:100%;display:block}.conf.is-mid .conf-bar span{background:var(--warn)}.conf.is-low .conf-bar span{background:var(--bad)}.agents{flex-direction:column;display:flex}.agent{grid-template-columns:26px 1fr auto;align-items:start;gap:12px;padding:11px 0;display:grid;position:relative}.agent+.agent{border-top:1px solid var(--line)}.agent-ico{border:1px solid var(--line-strong);width:26px;height:26px;color:var(--faint);background:var(--panel);border-radius:50%;place-items:center;font-size:12px;display:grid}.agent.is-run .agent-ico{border-color:var(--accent);color:var(--accent)}.agent.is-done .agent-ico{background:var(--ok-wash);color:var(--ok);border-color:#0000}.agent.is-warn .agent-ico{background:var(--warn-wash);color:var(--warn);border-color:#0000}.agent.is-run .agent-ico:after{content:"";border:1px solid var(--accent);border-radius:50%;width:26px;height:26px;animation:1.2s ease-out infinite ping;position:absolute}.agent-name{font-size:13.5px;font-weight:500}.agent.is-wait .agent-name{color:var(--faint)}.agent-note{color:var(--muted);margin-top:2px;font-size:12.5px}.agent-time{color:var(--faint);font-variant-numeric:tabular-nums;padding-top:3px;font-size:12px}@keyframes ping{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}.paper{background:var(--paper);color:var(--paper-ink);box-shadow:0 0 0 1px var(--line), 0 18px 40px -18px #0a254047;border-radius:6px;font-size:12px;line-height:1.45;position:relative;overflow:hidden}.paper .p-muted{color:var(--paper-muted)}.paper table{border-collapse:collapse;width:100%}.paper th{text-align:left;color:var(--paper-muted);border-bottom:1px solid var(--paper-ink);padding:5px 6px;font-size:10.5px;font-weight:600}.paper td{border-bottom:1px solid var(--paper-line);vertical-align:top;padding:5px 6px}.paper .right{text-align:right}.hl{border-radius:3px;margin:0 -2px;padding:0 2px;transition:box-shadow .25s,background .25s;position:relative;box-shadow:0 0 0 1.5px #1f6feb00}.hl.is-on{background:#1f6feb1f;box-shadow:0 0 0 1.5px #1f6febcc}.hl.is-warn{background:#d68c1429;box-shadow:0 0 0 1.5px #d68c14cc}.field-list{flex-direction:column;display:flex}.field{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr auto;align-items:center;gap:12px;padding:9px 18px;display:grid}.field:last-child{border-bottom:0}.field:hover{background:#0a254005}.field-k{color:var(--muted);font-size:12.5px}.field-v{text-overflow:ellipsis;min-width:0;font-size:13.5px;overflow:hidden}.field.is-warn{background:var(--warn-wash)}.field.is-warn .field-k{color:var(--warn)}.empty{text-align:center;color:var(--muted);padding:44px 20px}.empty b{color:var(--text);margin-bottom:4px;font-weight:500;display:block}.note{border-radius:var(--r-m);background:var(--panel-2);border:1px solid var(--line);color:var(--soft);padding:12px 14px;font-size:13px}.note.t-warn{background:var(--warn-wash);color:var(--warn);border-color:#0000}.note.t-ok{background:var(--ok-wash);color:var(--ok);border-color:#0000}.note.t-accent{background:var(--accent-wash);color:var(--accent);border-color:#0000}.kv{grid-template-columns:auto 1fr;gap:6px 16px;font-size:13px;display:grid}.kv dt{color:var(--muted)}.kv dd{text-align:right;margin:0}.divider{background:var(--line);height:1px;margin:14px 0}.drop{border:1px dashed var(--line-strong);border-radius:var(--r-l);text-align:center;color:var(--muted);padding:26px;transition:border-color .15s,background .15s}.drop.is-over{border-color:var(--accent);background:var(--accent-wash);color:var(--text)}.drop b{color:var(--text);font-weight:500}.drawer-back{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40;background:#0a254052;animation:.15s fade;position:fixed;inset:0}.drawer{background:var(--panel);border-left:1px solid var(--line-strong);z-index:41;flex-direction:column;width:min(560px,100vw);animation:.2s cubic-bezier(.2,.8,.2,1) slide;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer.is-wide{width:min(920px,100vw)}.drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px;display:flex}.drawer-head h2{font:600 18px/1.25 var(--sans);letter-spacing:-.015em}.drawer-head p{color:var(--muted);margin-top:4px;font-size:13px}.drawer-body{flex-direction:column;flex:1;gap:16px;padding:18px 20px;display:flex;overflow-y:auto}.drawer-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.x{width:30px;height:30px;color:var(--muted);background:0 0;border:0;border-radius:8px;font-size:18px;line-height:1}.x:hover{background:var(--panel-2);color:var(--text)}@keyframes fade{0%{opacity:0}}@keyframes slide{0%{opacity:0;transform:translate(24px)}}.toasts{z-index:60;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast{background:var(--text);color:#fff;border-radius:999px;padding:10px 16px;font-size:13px;font-weight:500;animation:.2s rise;box-shadow:0 12px 32px #0a25404d}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.jde-log{font-family:var(--mono);color:#c9d4e3;border-radius:var(--r-m);white-space:pre;background:#0a2540;border:1px solid #0a2540;padding:12px 14px;font-size:12px;line-height:1.7;overflow-x:auto}.jde-log .k{color:#7fb4ff}.jde-log .g{color:#5fe0b0}.jde-log .d{color:#7f93ad}@media (width<=1080px){.split,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}}@media (width<=820px){.bar{gap:10px;padding:0 14px}.bar-right,.bar-sep{display:none}.bar-tool{text-overflow:ellipsis;margin-left:auto;font-size:13.5px;overflow:hidden}.main{padding:16px 14px 44px}.g2,.g3,.g4{grid-template-columns:1fr}.field{grid-template-columns:110px 1fr auto;padding:9px 14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.pf{grid-template-columns:212px minmax(0,1fr);align-items:start;gap:28px;max-width:1480px;margin:0 auto;display:grid}.pf-nav{top:calc(var(--bar) + 24px);flex-direction:column;gap:2px;display:flex;position:sticky}.pf-nav button{border-radius:var(--r-s);height:34px;color:var(--soft);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;font-size:13.5px;font-weight:500;display:flex}.pf-nav button:hover{background:var(--panel-3);color:var(--text)}.pf-nav button.is-on{background:var(--panel);color:var(--accent);box-shadow:var(--shadow), inset 0 0 0 1px var(--line)}.pf-nav button svg{flex:none;width:16px;height:16px}.pf-nav button span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pf-nav button em{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;font-style:normal;font-weight:500}.pf-nav button em.is-hot{color:var(--warn);background:var(--warn-wash);border-radius:999px;padding:1px 7px}.pf-nav-foot{border-top:1px solid var(--line);color:var(--muted);flex-direction:column;gap:6px;margin-top:14px;padding:12px 10px 0;font-size:12.5px;display:flex}.pf-body{min-width:0}.pf-body .page{max-width:none}.pf-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-height:34px;margin-bottom:18px;display:flex}.pf-head h1{font:600 22px/1.2 var(--sans);letter-spacing:-.025em}.pf-head p{color:var(--muted);margin-top:3px;font-size:13px}.dialog{z-index:50;background:var(--panel);border:1px solid var(--line);border-radius:14px;width:min(460px,100vw - 32px);padding:22px 24px 20px;animation:.16s cubic-bezier(.2,.8,.2,1) pop;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 64px -12px #0a254059}.dialog h2{font:600 17px/1.3 var(--sans);letter-spacing:-.015em;margin-top:14px}.dialog ul{color:var(--soft);flex-direction:column;gap:7px;margin:12px 0 0;padding:0;font-size:13.5px;list-style:none;display:flex}.dialog li{padding-left:16px;position:relative}.dialog li:before{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;top:.6em;left:2px}.dialog p{color:var(--soft);margin-top:10px;font-size:13.5px}.dialog-steps{gap:5px;display:flex}.dialog-steps i{background:var(--panel-3);border-radius:3px;width:26px;height:3px}.dialog-steps i.is-on{background:var(--accent)}.dialog-foot{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}@keyframes pop{0%{opacity:0;transform:translate(-50%,-48%)scale(.98)}}.table tr.group-row td{border-bottom:1px solid var(--line);background:var(--panel);color:var(--muted);padding:14px 14px 6px;font-size:12.5px}.table tr.group-row:first-child td{padding-top:10px}.table tr.group-row b{color:var(--text);margin-right:8px;font-weight:600}.chart{flex-direction:column;gap:8px;display:flex}.chart-legend{color:var(--muted);gap:14px;font-size:12.5px;display:flex}.chart-legend span{align-items:center;gap:6px;display:inline-flex}.chart-legend i{border-radius:2px;width:9px;height:9px}.chart .c1{background:var(--accent)}.chart .c2{background:#b9cdf3}.chart-bars{border-bottom:1px solid var(--line);align-items:flex-end;gap:3px;display:flex}.chart-col{flex:1;align-items:flex-end;min-width:0;height:100%;display:flex;position:relative}.chart-stack{flex-direction:column;justify-content:flex-end;width:100%;height:100%;display:flex}.chart-stack div{border-radius:2px 2px 0 0;min-height:0}.chart-stack .c2+.c1{border-radius:0}.chart-col.is-hover .c1{background:var(--accent-2)}.chart-x{color:var(--faint);gap:3px;font-size:11.5px;display:flex}.chart-x span{text-align:center;white-space:nowrap;flex:1;min-width:0;overflow:visible}.chart-tip{z-index:5;background:var(--text);color:#fff;white-space:nowrap;pointer-events:none;border-radius:6px;padding:4px 8px;font-size:12px;position:absolute;bottom:100%;left:50%;transform:translate(-50%,-6px)}.chart-line{border-bottom:1px solid var(--line);position:relative}.chart-line svg{width:100%;display:block}.chart-line .line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round}.chart-line .area{fill:var(--accent-wash)}.chart-line .chart-tip{bottom:auto;transform:translate(-50%,-130%)}.share{flex-direction:column;gap:9px;display:flex}.share-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:center;gap:12px;font-size:13px;display:grid}.share-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.share-bar{background:var(--panel-3);border-radius:6px;height:6px;overflow:hidden}.share-bar i{background:var(--accent);border-radius:6px;height:100%;display:block}.share-bar i.t-ok{background:var(--ok)}.share-bar i.t-warn{background:#e0a23a}.share-bar i.t-bad{background:var(--bad)}.share-val{color:var(--soft);text-align:right;min-width:44px}@media (width<=980px){.pf{grid-template-columns:1fr;gap:14px}.pf-nav{flex-direction:row;padding-bottom:4px;position:static;overflow-x:auto}.pf-nav button{flex:none}.pf-nav-foot{display:none}}.hub{isolation:isolate;flex-direction:column;flex:1;align-items:center;padding:0 28px 48px;display:flex;position:relative;overflow:hidden}.hub-band{z-index:-1;transform-origin:0 0;background:linear-gradient(100deg,#e9f1ff 0%,#f6f8fb 60%);height:620px;position:absolute;top:-260px;left:0;right:0;overflow:hidden;transform:skewY(-8deg)}.hub-band i{filter:blur(60px);opacity:.75;will-change:transform;border-radius:50%;position:absolute}.hub-band i:first-child{opacity:.38;background:#3552e0;width:620px;height:420px;animation:22s ease-in-out infinite alternate drift1;top:200px;left:-6%}.hub-band i:nth-child(2){opacity:.42;background:#35b6f2;width:560px;height:380px;animation:26s ease-in-out infinite alternate drift2;top:250px;left:36%}.hub-band i:nth-child(3){opacity:.26;background:#7b5cf0;width:520px;height:360px;animation:30s ease-in-out infinite alternate drift3;top:180px;right:-8%}.hub-band:after{content:"";background:linear-gradient(180deg, #f6f8fb00 55%, var(--bg) 100%);position:absolute;inset:0}@keyframes drift1{to{transform:translate(140px,-40px)scale(1.12)}}@keyframes drift2{to{transform:translate(-120px,30px)scale(.92)}}@keyframes drift3{to{transform:translate(-90px,-50px)scale(1.1)}}.hub-hero{text-align:left;width:min(1080px,100%);padding:96px 0 56px}.hub-hero h1{font:650 clamp(36px, 5.2vw, 60px)/1.04 var(--sans);letter-spacing:-.045em;color:var(--text);max-width:15ch;animation:.7s cubic-bezier(.2,.8,.2,1) both rise-in}.hub-hero p{color:var(--soft);max-width:52ch;margin-top:18px;font-size:18px;line-height:1.55;animation:.7s cubic-bezier(.2,.8,.2,1) 80ms both rise-in}.hub-apps{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:min(1080px,100%);display:grid}.hub-app{background:var(--panel);color:inherit;border:1px solid var(--line);animation:rise-in .7s calc(.16s + var(--i) * 70ms) cubic-bezier(.2, .8, .2, 1) both;border-radius:14px;flex-direction:column;gap:10px;padding:24px 24px 22px;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .25s;display:flex;position:relative;box-shadow:0 1px 2px #0a25400a,0 6px 18px -8px #0a25401a}.hub-app:before{content:"";background:linear-gradient(90deg, var(--c1), var(--c2));opacity:0;border-radius:2px;height:2px;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .25s;position:absolute;top:-1px;left:18px;right:18px;transform:scaleX(.2)}.hub-app:hover{border-color:var(--line-strong);transform:translateY(-3px);box-shadow:0 2px 4px #0a25400d,0 22px 44px -18px #0a254047}.hub-app:hover:before{opacity:1;transform:scaleX(1)}.hub-app .app-mark{margin-bottom:8px;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.hub-app:hover .app-mark{transform:rotate(-4deg)scale(1.05)}.hub-app h2{font:600 17px/1.25 var(--sans);letter-spacing:-.02em}.hub-app p{color:var(--muted);flex:1;font-size:14px;line-height:1.55}.hub-open{color:var(--accent);align-items:center;gap:4px;margin-top:10px;font-size:14px;font-weight:600;display:inline-flex}.hub-open svg{transition:transform .2s cubic-bezier(.2,.8,.2,1)}.hub-app:hover .hub-open svg{transform:translate(3px)}.hub-app:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hub-foot{width:min(1080px,100%);color:var(--muted);align-items:center;gap:8px;margin-top:40px;font-size:13px;animation:.7s cubic-bezier(.2,.8,.2,1) .42s both rise-in;display:flex}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}}.ht-mark{background:currentColor;flex:none;display:inline-block;-webkit-mask:url(/hypertool-mark.png) 50%/contain no-repeat;mask:url(/hypertool-mark.png) 50%/contain no-repeat}.hub-by{color:var(--soft);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb8;border-radius:999px;align-items:center;gap:10px;margin-bottom:22px;padding:5px 14px 5px 6px;font-size:13px;transition:border-color .2s,box-shadow .2s;animation:.7s cubic-bezier(.2,.8,.2,1) both rise-in;display:inline-flex;box-shadow:0 1px 2px #0a25400a}.hub-by:hover{border-color:var(--line-strong);box-shadow:0 6px 18px -8px #0a254040}.hub-by b{color:var(--text);font-weight:600}.hub-by-pair{background:var(--bg);color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:4px 9px;display:inline-flex}.hub-by-pair img{object-fit:contain;width:18px;height:18px}.hub-by-x{color:var(--muted);font-size:12px}.ht-badge{z-index:30;color:var(--soft);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffdb;border-radius:999px;align-items:center;gap:8px;padding:7px 13px 7px 11px;font-size:12px;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s,color .2s;animation:.6s cubic-bezier(.2,.8,.2,1) .5s both rise-in;display:inline-flex;position:fixed;bottom:18px;right:18px;box-shadow:0 1px 2px #0a25400d,0 8px 24px -10px #0a254038}.ht-badge .ht-mark{color:var(--text);transition:transform .4s cubic-bezier(.2,.8,.2,1)}.ht-badge b{color:var(--text);font-weight:600}.ht-badge:hover{color:var(--text);transform:translateY(-2px);box-shadow:0 2px 4px #0a25400f,0 14px 32px -12px #0a254052}.ht-badge:hover .ht-mark{transform:rotate(-180deg)}@media print{.ht-badge{display:none}}.bar-tool{align-items:center;gap:9px;display:inline-flex}.bar-tool .app-mark{flex:none}a.brand{color:inherit;border-radius:8px;transition:opacity .15s}a.brand:hover{opacity:.75}@media (width<=900px){.hub-apps{grid-template-columns:1fr}.hub-hero{padding:56px 0 36px}.hub-hero p{font-size:16px}}@media (width<=640px){.ht-badge{padding:6px 10px;bottom:12px;right:12px}}@media (width<=560px){.hub{padding:0 16px 36px}}.main{padding-bottom:72px}.es-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.es-dash{flex-direction:column;gap:14px;display:flex}.es-grid2{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:14px;display:grid}.es-grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.es-todos{flex-direction:column;display:flex}.es-todo{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:12px;width:100%;padding:11px 18px;font-size:13.5px;display:flex}.es-todo:last-child{border-radius:0 0 var(--r-l) var(--r-l);border-bottom:0}.es-todo:hover{background:var(--panel-2)}.es-todo .grow{flex-direction:column;display:flex}.es-todo .cell-main,.es-todo .cell-sub{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.es-todo-n{border-radius:var(--r-m);background:var(--accent-wash);min-width:32px;height:32px;color:var(--accent);place-items:center;padding:0 8px;font-weight:600;display:grid}.es-filters{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;display:flex}.es-filters .input{flex:220px;max-width:360px}.es-filters .select{flex:0 auto}.es-count{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:12.5px}.es-list td:first-child{min-width:210px}.es-more{text-align:center;border-top:1px solid var(--line);padding:12px}.es-export{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;padding-top:12px;font-size:12.5px;display:flex}.es-export span{flex:220px}.es-stack{flex-direction:column;gap:14px;display:flex}.es-under{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.es-bar{background:var(--panel-3);border-radius:4px;height:4px;overflow:hidden}.es-bar span{background:var(--accent);border-radius:4px;height:100%;transition:width .2s;display:block}.es-batch{flex-direction:column;gap:12px;display:flex}.es-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.es-tabs .seg,.es-stack .card-pad>div>.seg{max-width:100%;overflow-x:auto}.es-tabs .seg button,.es-stack .seg button{white-space:nowrap;flex:none}.es-file-ico{background:var(--panel-2);width:30px;height:36px;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--muted);border-radius:4px;flex:none;place-items:end center;padding-bottom:4px;font-size:8.5px;font-weight:600;display:grid}.es-doc{align-items:center;gap:12px;min-width:0;display:flex}.es-rule{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:start;gap:4px 12px;padding:13px 18px;display:grid}.es-rule:last-child{border-bottom:0}.es-rule-t{font-size:13.5px;font-weight:500}.es-rule-s{color:var(--muted);font-size:12.5px}.es-drop-in{flex-direction:column;align-items:center;gap:10px;display:flex}.es-hidden{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.es-ws-head{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:14px;display:flex}.es-ws-title{font:600 20px/1.2 var(--sans);letter-spacing:-.02em}.es-ws{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.es-ws-even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.es-ws-left{top:calc(var(--bar,0px) + 16px);flex-direction:column;gap:10px;display:flex;position:sticky}.es-ws-cap{color:var(--muted);justify-content:space-between;gap:12px;padding:0 2px;font-size:12.5px;display:flex}.es-file{background:var(--paper);border:0;border-radius:6px;width:100%;height:min(82vh,900px);display:block}img.es-file{height:auto}.es-wait{text-align:center;color:var(--faint);padding:26px 18px;font-size:13px}.field.es-hot{background:var(--accent-wash)}.field .es-edit{align-items:center;gap:6px;display:flex}.field .es-edit .input{width:100%}.es-fv-sub{color:var(--muted);text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.es-fr{align-items:center;gap:10px;display:flex}.es-check{border-bottom:1px solid var(--line);grid-template-columns:7px 1fr;align-items:start;gap:12px;padding:10px 18px;display:grid}.es-check:last-child{border-bottom:0}.es-check .dot{margin-top:7px}.es-check-l{font-size:13.5px;font-weight:500}.es-check-t{color:var(--muted);font-size:12.5px}.es-check.is-warn{background:var(--warn-wash)}.es-check.is-warn .es-check-t{color:var(--soft)}.es-check.is-bad{background:var(--bad-wash)}.es-check.is-bad .es-check-l{color:var(--bad)}.es-check.is-bad .es-check-t{color:var(--soft)}.es-fix{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.es-fix .input{width:130px}.es-alert{border-radius:var(--r-l);background:var(--bad-wash);border:1px solid var(--bad);flex-direction:column;gap:10px;padding:16px 18px;display:flex}.es-alert h3{color:var(--bad);font-size:15px;font-weight:600}.es-alert p{color:var(--soft);font-size:13px}.es-alert-cmp{border-radius:var(--r-m);background:var(--bg);grid-template-columns:auto 1fr;align-items:baseline;gap:6px 14px;padding:10px 12px;font-size:12.5px;display:grid}.es-alert-cmp dt{color:var(--muted)}.es-alert-cmp dd{font-family:var(--mono);overflow-wrap:anywhere;margin:0}.es-alert-cmp dd.is-bad{color:var(--bad)}.es-alert-cmp dd.is-ok{color:var(--ok)}.es-lines td .cell-sub{white-space:normal}.es-paper-wrap{border-radius:6px;overflow-x:auto}.es-paper{aspect-ratio:210/297;min-width:480px;display:flex}.es-paper.is-scan .es-p{opacity:.93;transform:rotate(-.35deg)}.es-p{flex-direction:column;flex:1;gap:14px;min-width:0;padding:40px 42px 26px;font-size:11px;line-height:1.45;display:flex}.es-p p,.es-p h3,.es-p h4{margin:0}.es-p h4{color:var(--paper-muted);margin-bottom:3px;font-size:9.5px;font-weight:600}.es-p .es-gap{margin-top:10px}.es-p-block{width:fit-content;display:block}.es-p-logo{align-items:center;gap:9px;display:flex}.es-p-logo b{letter-spacing:-.01em;font-size:15px;font-weight:600;line-height:1.15;display:block}.es-p-logo small{color:var(--paper-muted);font-size:9.5px;display:block}.es-p-mark{background:var(--paper-ink);width:34px;height:34px;color:var(--paper);border-radius:4px;flex:none;place-items:center;font-size:13px;font-weight:600;display:grid}.es-p-meta{grid-template-columns:auto auto;align-content:start;gap:3px 16px;margin:0;display:grid}.es-p-meta dt{color:var(--paper-muted)}.es-p-meta dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.es-p-title{letter-spacing:-.01em;font-size:17px;font-weight:600}.es-p-lines td,.es-p-tot{font-variant-numeric:tabular-nums}.es-p-tot{width:48%;min-width:220px;margin-left:auto}.es-p-tot>div{justify-content:space-between;gap:12px;padding:3px 6px;display:flex}.es-p-tot>div>span:first-child{color:var(--paper-muted)}.es-p-tot .is-gross{border-top:1px solid var(--paper-ink);margin-top:4px;padding-top:7px;font-size:12.5px;font-weight:600}.es-p-tot .is-gross>span:first-child{color:var(--paper-ink)}.es-p-foot{border-top:1px solid var(--paper-line);color:var(--paper-muted);margin-top:auto;padding-top:10px;font-size:9px;line-height:1.5}.es-p-foot b{color:var(--paper-ink);font-weight:600}.es-p-lines.is-shaded th{background:var(--paper-line);color:var(--paper-ink);border-bottom:0}.es-p-lines.is-plain th{border-bottom-color:var(--paper-line);font-weight:400}.es-p table.es-box{border:1px solid var(--paper-ink)}.es-p table.es-box th{border:1px solid var(--paper-ink);background:var(--paper-line);color:var(--paper-ink);font-size:9.5px}.es-p table.es-box td{border:1px solid var(--paper-ink)}.es-p table.es-box.es-p-lines td{border-top:0;border-bottom:0;padding-top:7px;padding-bottom:7px}.es-p table.es-box.es-p-lines tbody tr:last-child td{padding-bottom:34px}.es-din-head{border-bottom:2px solid var(--paper-ink);justify-content:flex-end;padding-bottom:12px;display:flex}.es-din-top{justify-content:space-between;gap:24px;margin:8px 0 10px;display:flex}.es-din-window{width:52%}.es-din-sender{color:var(--paper-muted);border-bottom:1px solid var(--paper-muted);white-space:nowrap;text-overflow:ellipsis;margin-bottom:8px;padding-bottom:2px;font-size:7.5px;overflow:hidden}.es-din-foot{grid-template-columns:1.1fr 1.3fr 1.3fr 1.2fr;gap:12px;display:grid}.es-band{padding-top:0}.es-band-head{background:var(--paper-ink);color:var(--paper);justify-content:space-between;align-items:center;gap:20px;margin:0 -42px;padding:26px 42px 22px;display:flex}.es-band-head .es-p-mark{background:var(--paper);color:var(--paper-ink)}.es-band-head .es-p-logo small{color:var(--paper-line)}.es-band-title{margin-bottom:6px;font:400 30px/1 Georgia,Times New Roman,serif}.es-band-parties{grid-template-columns:1fr 1fr;gap:14px;display:grid}.es-band-parties>div{border:1px solid var(--paper-line);border-radius:4px;padding:10px 12px}.es-band-id{margin-top:6px}.es-band-meta{border-top:1px solid var(--paper-ink);border-bottom:1px solid var(--paper-ink);grid-template-columns:repeat(4,1fr);gap:10px;padding:9px 0;display:grid}.es-band-bottom{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}.es-band-bottom .es-p-tot{width:100%;min-width:0}.es-band-alert{border:1px solid var(--paper-ink);border-radius:4px;margin-bottom:10px;padding:7px 9px;font-weight:600}.es-band-foot{text-align:center}.es-us-head{justify-content:space-between;gap:20px;display:flex}.es-us-addr{margin:10px 0 4px}.es-us-right{text-align:right;width:44%}.es-us-word{letter-spacing:.01em;margin-bottom:10px;font:400 34px/1 Georgia,Times New Roman,serif}.es-us-parties{grid-template-columns:1fr 1fr;gap:20px;display:grid}.es-us-bottom{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}.es-us-bottom .es-p-tot{width:100%;min-width:0}.es-us-foot{text-align:center;border-top:0}.es-grid{gap:10px}.es-grid-head{grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin-bottom:6px;display:grid}.es-grid-title{text-align:center}.es-grid-title b{letter-spacing:.02em;font-size:20px;font-weight:600;display:block}.es-grid-title small{color:var(--paper-muted)}.es-grid-no{text-align:right}.es-grid-sum td{font-size:12px}.es-p table.es-box th.es-grid-side{vertical-align:top;width:22%}.es-grid-sign{color:var(--paper-muted);justify-content:space-between;align-items:flex-end;gap:20px;margin-top:auto;padding-top:16px;font-size:9.5px;display:flex}.es-grid-sign>div:not(.es-seal){text-align:center;border-top:1px solid var(--paper-muted);width:30%;padding-top:4px;position:relative}.es-grid-sign>div>span{color:var(--paper-ink);padding-bottom:3px;font:italic 400 15px/1 Georgia,Times New Roman,serif;position:absolute;bottom:100%;left:0;right:0}.es-seal{border:2px solid var(--bad);width:74px;height:74px;color:var(--bad);text-align:center;opacity:.85;border-radius:50%;flex:none;place-content:center;font-size:8.5px;line-height:1.3;display:grid;transform:rotate(-9deg)}.es-seal b{font-size:9.5px}.es-nordic{gap:18px;padding-top:48px}.es-nordic-head{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.es-nordic-name{letter-spacing:-.01em;font:400 26px/1 Georgia,Times New Roman,serif}.es-nordic-title{color:var(--paper-muted);font-size:13px}.es-nordic-top{justify-content:space-between;gap:24px;margin:14px 0 8px;display:flex}.es-nordic .es-p-tot .is-gross{font-size:15px}.es-nordic-foot{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.es-nordic-foot b{margin-bottom:2px;display:block}@media (width<=1280px){.es-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.es-grid3{grid-template-columns:repeat(2,minmax(0,1fr))}.es-grid3>:last-child{grid-column:1/-1}}@media (width<=1180px){.es-ws,.es-under,.es-grid2{grid-template-columns:minmax(0,1fr)}.es-ws-left{position:static}}@media (width<=820px){.es-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.es-stats>:last-child{grid-column:1/-1}.es-grid3{grid-template-columns:minmax(0,1fr)}.es-filters .input{flex-basis:100%;max-width:none}.es-filters .select{flex:130px}.es-count{flex-basis:100%;margin-left:0}.es-ws-title{font-size:21px}.es-check,.es-rule{padding-left:14px;padding-right:14px}}.es-posted{margin-bottom:4px}.es-posted dd{text-align:right}.drawer.is-wide:has(.ab-detail){width:min(1260px,100vw)}.ab-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.ab-queue-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.ab-snip{font-family:var(--mono);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:230px;font-size:11.5px;overflow:hidden}.ab-td-where{max-width:250px}.ab-pending td{color:var(--muted)}.ab-pending .cell-main{color:var(--soft)}.ab-run{margin-bottom:14px}.ab-run-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:24px;padding:16px 20px;display:grid}.ab-run-now{font:600 24px/1.15 var(--sans);letter-spacing:-.025em;margin-top:2px}.ab-bar{background:var(--panel-3);border-radius:4px;height:4px;margin:14px 0 8px;overflow:hidden}.ab-bar span{background:var(--accent);border-radius:4px;height:100%;transition:width .25s;display:block}.ab-run .agent{padding:7px 0}.ab-detail{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:start;gap:22px;display:grid}.ab-col{flex-direction:column;gap:14px;min-width:0;display:flex}.ab-bar-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.ab-h{color:var(--muted);margin-bottom:8px;font-size:12.5px}.ab-box{border:1px solid var(--line);border-radius:var(--r-m);background:var(--panel-2);min-width:0}.ab-box-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.ab-box-head b{font-weight:500}.ab-box-pad{padding:12px}.ab-paper{padding:26px 26px 22px}.ab-paper-top{justify-content:space-between;gap:18px;display:flex}.ab-paper-name{font-size:14px;font-weight:700}.ab-paper-doc{text-align:right}.ab-paper-doc b{font-size:15px;font-weight:700;display:block}.ab-paper-to{border:1px solid var(--paper-line);border-radius:4px;margin:18px 0 14px;padding:10px 12px}.ab-paper-refs{gap:3px;margin:0 0 14px;display:grid}.ab-paper-sum{grid-template-columns:1fr auto;gap:3px 16px;width:min(240px,100%);margin:14px 0 0 auto;display:grid}.ab-paper-sum .tot{border-top:1px solid var(--paper-ink);margin-top:3px;padding-top:5px;font-size:13px;font-weight:700}.ab-paper-pay{border-top:1px solid var(--paper-line);flex-wrap:wrap;gap:6px 22px;margin-top:16px;padding-top:10px;display:flex}.ab-paper .small{font-size:10.5px}.ab-paper td.num,.ab-paper th.num{white-space:nowrap}.ab-loc{border-radius:var(--r-m);background:var(--accent-wash);color:var(--accent);gap:4px;padding:10px 12px;font-size:12.5px;display:grid}.ab-loc.is-warn{background:var(--warn-wash);color:var(--warn)}.ab-loc.is-none{background:var(--panel-2);color:var(--muted);border:1px solid var(--line)}.ab-loc code{font-family:var(--mono);color:var(--text);overflow-wrap:anywhere;font-size:11.5px}.ab-xml{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-m);min-height:260px;max-height:calc(100vh - 250px);font-family:var(--mono);padding:10px 0;font-size:11.5px;line-height:1.75;overflow:auto}.ab-xl{border-left:2px solid #0000;grid-template-columns:38px minmax(0,1fr) auto;align-items:baseline;padding-right:10px;display:grid}.ab-ln{text-align:right;color:var(--faint);-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;padding-right:12px}.ab-code{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--soft)}.ab-tag{color:var(--faint)}.ab-xl.is-ordine{background:var(--accent-wash);border-left-color:var(--accent)}.ab-xl.is-errato{background:var(--warn-wash);border-left-color:var(--warn)}.ab-xl.is-ddt{background:var(--ok-wash);border-left-color:var(--ok)}.ab-xl.is-ordine .ab-tag{color:var(--accent)}.ab-xl.is-errato .ab-tag{color:var(--warn)}.ab-xl.is-ddt .ab-tag{color:var(--ok)}.ab-xl[class*=is-] .ab-code{color:var(--text)}.ab-mk{background:var(--accent);color:var(--accent-ink);border-radius:3px;padding:1px 3px;font-weight:600}.is-errato .ab-mk{background:var(--warn);color:var(--bg)}.is-ddt .ab-mk{background:var(--ok);color:var(--bg)}.ab-flag{font-family:var(--sans);white-space:nowrap;color:var(--accent);padding-left:10px;font-size:11px;font-weight:500}.is-errato .ab-flag{color:var(--warn)}.is-ddt .ab-flag{color:var(--ok)}.ab-ref{border-radius:var(--r-m);background:var(--accent-wash);gap:6px;padding:12px 14px;display:grid}.ab-ref.is-warn{background:var(--warn-wash)}.ab-ref-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.ab-ref-k{color:var(--accent);font-size:12.5px}.ab-ref.is-warn .ab-ref-k{color:var(--warn)}.ab-ref-v{font-size:15px;font-weight:500}.ab-ref code{font-family:var(--mono);color:var(--soft);overflow-wrap:anywhere;font-size:11.5px}.ab-ref q{font-family:var(--mono);quotes:"«" "»";font-size:12.5px}.ab-cmp{font-size:12.5px}.ab-cmp th,.ab-cmp td{padding:8px 9px}.ab-cmp th:first-child,.ab-cmp td:first-child{padding-left:12px}.ab-cmp th:last-child,.ab-cmp td:last-child{padding-right:12px}.ab-cmp td{vertical-align:top}.ab-cmp .cell-sub{max-width:210px;font-size:11.5px}.ab-cmp tfoot td{border-top:1px solid var(--line-strong);color:var(--soft);border-bottom:0}.ab-v-tol{color:var(--warn)}.ab-v-over{color:var(--bad);font-weight:500}.ab-v-under{color:var(--ok)}.ab-legend{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:14px;padding:8px 12px;font-size:12px;display:flex}.ab-legend i{border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.ab-rcpt{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:baseline;gap:4px 14px;padding:9px 12px;font-size:12.5px;display:grid}.ab-rcpt:last-child{border-bottom:0}.ab-reasons{color:var(--soft);flex-direction:column;gap:8px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.ab-reasons li{grid-template-columns:14px 1fr;align-items:baseline;gap:8px;display:grid}.ab-reasons li:before{content:"";background:var(--faint);border-radius:50%;width:7px;height:7px;transform:translateY(-1px)}.ab-reasons li.is-ok:before{background:var(--ok)}.ab-reasons li.is-warn:before{background:var(--warn)}.ab-reasons li.is-bad:before{background:var(--bad)}.ab-reasons li.is-bad{color:var(--text)}.ab-cand{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.ab-cand:last-child{border-bottom:0}.ab-cand.is-cur{background:var(--accent-wash)}.ab-cand-tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.ab-verdict{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ab-verdict .grow{color:var(--muted);font-size:13px}@media (width<=1280px){.ab-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=980px){.ab-detail,.ab-run-grid{grid-template-columns:1fr}.ab-xml{max-height:420px}}@media (width<=820px){.ab-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-stats .stat:first-child{grid-column:1/-1}.ab-paper{padding:18px 14px}.ab-paper-top{flex-direction:column}.ab-paper-doc{text-align:left}}.ab-tabs{max-width:100%;overflow-x:auto}.ab-paper-scroll{overflow-x:auto}.drawer:has(.ab-detail) .drawer-foot{flex-wrap:wrap}@media (width<=820px){.ab-paper .ab-c-code{display:none}.ab-queue-head{flex-direction:column;align-items:flex-start}.ab-cand{grid-template-columns:minmax(0,1fr) auto}.ab-cand .conf{grid-column:1}}.ab-gap{margin-top:14px}.ab-gap>*,.ab-dash>*,.ab-rules>*{min-width:0}.ab-name{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.ab-hint{white-space:nowrap;font-size:12.5px}.ab-err{margin-bottom:12px}.ab-over{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-wash)}.ab-upload{cursor:pointer}.ab-upload input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.ab-upload:focus-within{outline:2px solid var(--accent);outline-offset:2px}.ab-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:12.5px;display:flex}.ab-dash{grid-template-columns:minmax(0,1fr) 280px;align-items:stretch;gap:14px;display:grid}.ab-jobs{flex-direction:column;display:flex}.ab-job{border:0;border-bottom:1px solid var(--line);text-align:left;color:var(--soft);background:0 0;align-items:baseline;gap:12px;padding:15px 18px;font-size:13.5px;display:flex}.ab-job:last-child{border-bottom:0}.ab-job:hover:not(:disabled){background:var(--panel-2);color:var(--text)}.ab-job:disabled{cursor:default;color:var(--faint)}.ab-job-n{letter-spacing:-.02em;min-width:34px;color:var(--faint);font-size:22px;font-weight:600;line-height:1.1}.ab-job-n.is-accent{color:var(--accent)}.ab-job-n.is-warn{color:var(--warn)}.ab-job-n.is-plain{color:var(--text)}.ab-filters{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.ab-search{width:260px;max-width:100%}.ab-past-row{border-bottom:1px solid var(--line);grid-template-columns:140px minmax(0,1fr);gap:12px;padding:10px 12px;font-size:13.5px;display:grid}.ab-past-row:last-child{border-bottom:0}.ab-past-row>span:first-child{font-size:12.5px}.ab-rules{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:14px;display:grid}.ab-tol{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 14px;font-size:13.5px;display:grid}.ab-tol label{color:var(--soft)}.ab-pct{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.ab-pct .input{text-align:right;font-variant-numeric:tabular-nums;width:72px}@media (width<=1180px){.ab-dash,.ab-rules{grid-template-columns:1fr}.ab-jobs{flex-direction:row}.ab-job{border-bottom:0;border-right:1px solid var(--line);flex-direction:column;flex:1;gap:2px;min-width:0;padding:12px 14px}.ab-job:last-child{border-right:0}}@media (width<=820px){.ab-search,.ab-filters{width:100%}.ab-filters .select{flex:1}.ab-name{max-width:190px}.ab-queue-head .ab-hint{display:none}}.ab-td-ref,.ab-td-esito{white-space:nowrap}@media (width<=1400px){.ab-td-esito{white-space:normal}.ab-name{max-width:170px}.ab-td-ref{white-space:normal}.ab-td-esito{min-width:118px}.pf-body .table th,.pf-body .table td{padding-left:8px;padding-right:8px}.pf-body .table th:first-child,.pf-body .table td:first-child{padding-left:14px}}@media (width<=1700px){.ab-name{max-width:190px}.ab-td-ref{white-space:normal;max-width:130px}.ab-td-esito{white-space:normal}.pf-body .table-wrap .table th,.pf-body .table-wrap .table td{padding-left:10px;padding-right:10px}}.ri-gap{gap:14px}.ri-row{margin-top:14px}.ri-dash{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.ri-dash>*{min-width:0}.ri-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px 32px;padding:22px 24px;display:flex}.ri-hero-main{min-width:0}.ri-hero-value{font:600 46px/1.05 var(--sans);letter-spacing:-.035em;font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:6px}.ri-hero.is-zero .ri-hero-value{color:var(--ok)}.ri-hero .stat-sub{margin-top:10px}.ri-hero-side{flex-wrap:wrap;gap:28px;margin:0;display:flex}.ri-hero-side dt{color:var(--muted);font-size:12.5px}.ri-hero-side dd{font:600 17px/1.2 var(--sans);letter-spacing:-.015em;font-variant-numeric:tabular-nums;white-space:nowrap;margin:4px 0 0}.ri-left{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.ri-left button{background:0 0;border:0;border-radius:999px;padding:0}.ri-todo{flex-direction:column;display:flex}.ri-todo button{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:10px 18px;font-size:13.5px;display:grid}.ri-todo button:last-child{border-bottom:0}.ri-todo button:hover{background:#0a254006}.ri-todo .ri-desc{-webkit-line-clamp:1;grid-area:1/2}.ri-todo .badge{grid-area:2/2;justify-self:start}.ri-todo .num{grid-row:1/span 2;align-self:start;padding-top:1px;font-size:12.5px}.ri-todo .ri-amt{grid-area:1/3/span 2}.ri-todo .is-more{color:var(--muted);font-size:12.5px;display:block}.ri-set{border-bottom:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 18px;padding:8px 14px;font-size:12.5px;display:flex}.ri-set label{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.ri-set .input{text-align:right;font-variant-numeric:tabular-nums;width:58px}.ri-search{border-bottom:1px solid var(--line);padding:10px 14px}.ri-search .input{width:min(380px,100%)}.ri-hist td{vertical-align:top}.ri-more{text-align:center;border-top:1px solid var(--line);padding:12px}.ri-run{margin-bottom:14px}.ri-run-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);display:grid}.ri-run-grid>div{min-width:0;padding:6px 18px 10px}.ri-run-grid>div+div{border-left:1px solid var(--line);padding:0}.ri-run-title{color:var(--muted);padding:12px 14px 4px;font-size:12.5px}.ri-why{color:var(--muted);font-size:12.5px}.ri-run-list{max-height:292px;overflow-y:auto}.ri-run-list .table td{vertical-align:top;padding:8px 14px}.ri-split>*{min-width:0}.ri-tabs{border-bottom:1px solid var(--line);padding:10px;overflow-x:auto}.ri-tabs .seg button{white-space:nowrap;flex:none;padding:0 9px}.ri-okc{color:var(--ok)}.ri-show-s{margin-top:5px;display:none}.ri-list{max-height:max(420px, calc(100vh - var(--bar,0px) - 150px));overflow:auto}.ri-list .table th{background:var(--panel);z-index:1;position:sticky;top:0}.ri-list .table td{vertical-align:top;padding:9px 12px}.ri-list .table th{padding:9px 12px}.ri-desc{color:var(--soft);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.ri-amt{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500}.ri-amt.is-pos{color:var(--ok)}.ri-amt.is-neg{color:var(--text)}.ri-rec td{opacity:.62}.ri-rec.is-sel td,.ri-rec:hover td{opacity:1}.ri-detail{top:calc(var(--bar,0px) + 14px);max-height:calc(100vh - var(--bar,0px) - 28px);position:sticky;overflow-y:auto}.ri-dhead{border-bottom:1px solid var(--line);padding:16px 18px}.ri-damt{font:600 30px/1.1 var(--sans);letter-spacing:-.025em;font-variant-numeric:tabular-nums;margin-top:10px}.ri-damt.is-pos{color:var(--ok)}.ri-ddesc{font-family:var(--mono);color:var(--soft);overflow-wrap:anywhere;margin-top:6px;font-size:12.5px;line-height:1.5}.ri-meta{color:var(--muted);flex-wrap:wrap;gap:4px 18px;margin-top:10px;font-size:12.5px;display:flex}.ri-meta b{color:var(--soft);font-variant-numeric:tabular-nums;font-weight:400}.ri-sec{border-bottom:1px solid var(--line);flex-direction:column;gap:12px;padding:14px 18px;display:flex}.ri-sec:last-child{border-bottom:0}.ri-sec-title{color:var(--muted);font-size:12.5px}.ri-ptitle{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ri-ptitle h3{font-size:15px;font-weight:500;line-height:1.35}.ri-reasons{color:var(--soft);flex-direction:column;gap:5px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.ri-reasons li{padding-left:16px;position:relative}.ri-reasons li:before{content:"";background:var(--ok);border-radius:50%;width:5px;height:5px;position:absolute;top:8px;left:3px}.ri-reasons li.is-warn{color:var(--warn)}.ri-reasons li.is-warn:before{background:var(--warn)}.ri-items{border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden}.ri-items .table{font-size:13px}.ri-items .table td,.ri-items .table th{padding:8px 12px}.ri-sum{grid-template-columns:1fr auto;gap:5px 16px;font-size:13px;display:grid}.ri-sum dt{color:var(--muted)}.ri-sum dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.ri-sum .is-total{border-top:1px solid var(--line);color:var(--text);padding-top:7px;font-weight:500}.ri-sum dd.is-zero{color:var(--ok)}.ri-sum dd.is-off{color:var(--warn)}.ri-actions{flex-wrap:wrap;gap:8px;display:flex}.ri-pick{border:1px solid var(--line);border-radius:var(--r-m);max-height:300px;overflow-y:auto}.ri-pick-row{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:grid}.ri-pick-row:last-child{border-bottom:0}.ri-pick-row:hover{background:var(--panel-2)}.ri-pick-row.is-on{background:var(--accent-wash)}.ri-pick-row input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;margin:0}.ri-pick-row .input{text-align:right;font-variant-numeric:tabular-nums;width:104px}.ri-pick-row .input.is-bad{border-color:var(--bad)}.ri-live{border-radius:var(--r-m);background:var(--panel-2);border:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px 14px;display:grid}.ri-live div{min-width:0}.ri-live span{color:var(--muted);font-size:12px;display:block}.ri-live b{font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:2px;font-size:13.5px;font-weight:500;display:block}.ri-live .is-diff b{font:600 22px/1.15 var(--sans);letter-spacing:-.025em;color:var(--warn)}.ri-live .is-diff.is-zero b{color:var(--ok)}.ri-je{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:8px;display:grid}.ri-check{color:var(--soft);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.ri-check input{accent-color:var(--accent);width:15px;height:15px;margin:0}.ri-pr-wrap{max-width:920px}.ri-pr{padding:30px 34px 34px;font-size:12.5px}.ri-pr h3{font:600 24px/1.15 var(--sans);letter-spacing:-.025em;margin-bottom:2px}.ri-pr-head{border-bottom:1.5px solid var(--paper-ink);flex-wrap:wrap;justify-content:space-between;gap:20px;margin-bottom:6px;padding-bottom:14px;display:flex}.ri-pr-head div:last-child{text-align:right}.ri-pr td{font-variant-numeric:tabular-nums}.ri-pr .is-line td{border-bottom-color:var(--paper-ink);padding-top:12px;font-weight:600}.ri-pr .is-sub td{color:var(--paper-muted);border-bottom-color:#0000;padding:3px 6px 3px 20px;font-size:11.5px}.ri-pr .is-total td{border-top:1.5px solid var(--paper-ink);border-bottom:0;padding-top:12px;font-size:14px;font-weight:700}.ri-pr .is-end td{border-bottom:0}.ri-pr-foot{color:var(--paper-muted);flex-wrap:wrap;justify-content:space-between;gap:20px;margin-top:22px;font-size:11px;display:flex}.ri-ok{font-weight:600}.ri-link{color:var(--accent);text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.ri-code{font-family:var(--mono);color:var(--soft);background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-m);white-space:pre;padding:10px 12px;font-size:12px;line-height:1.7;overflow-x:auto}@media (width<=1280px){.ri-dash{grid-template-columns:1fr}}@media (width<=1080px){.ri-detail{max-height:none;position:static}.ri-list{max-height:460px}.ri-run-grid{grid-template-columns:1fr}.ri-run-grid>div+div{border-left:0;border-top:1px solid var(--line)}}@media (width<=820px){.ri-hero{padding:18px}.ri-hero-value{font-size:34px}.ri-live{grid-template-columns:repeat(2,minmax(0,1fr))}.ri-je{grid-template-columns:1fr}.ri-pr{padding:20px 16px}.ri-hide-s{display:none}.ri-show-s{display:block}.ri-list .table td,.ri-list .table th,.ri-hist td,.ri-hist th{padding-left:10px;padding-right:10px}}@media (width<=460px){.ri-hero-value{font-size:30px}.ri-todo button{padding:10px 14px}}@media print{body *{visibility:hidden}.ri-pr,.ri-pr *{visibility:visible}.ri-pr{width:100%;box-shadow:none;border-radius:0;position:absolute;top:0;left:0}.pf-nav,.bar,.drawer-head,.drawer-foot{display:none}}
