.au-c-access{--c: #4f46e5;--cs: #eef0ff}.au-c-users{--c: #6d3fb5;--cs: #f2ebfc}.au-c-projects{--c: #0f7a74;--cs: #e3f4f2}.au-c-changes{--c: #2563b8;--cs: #e8f0fb}.au-c-worker{--c: #5b6577;--cs: #eef0f4}.au-c-vulns{--c: #c2410c;--cs: #fff0e6}.au-c-secrets{--c: #b4236e;--cs: #fce8f2}.au-c-seo{--c: #1e7f4e;--cs: #e6f5ed}.au-c-domains{--c: #8a6400;--cs: #fbf3dc}.au-c-gitlab{--c: #9a3412;--cs: #fbece4}.au-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.au-chip{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13px;cursor:pointer;padding:5px 11px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--c, var(--text));transition:background .15s,border-color .15s}.au-chip i{font-style:normal}.au-chip:hover{border-color:var(--c, var(--muted))}.au-chip[aria-pressed=true]{background:var(--c, var(--text));border-color:var(--c, var(--text));color:#fff}.au-chip:focus-visible{outline:2px solid var(--c, var(--accent));outline-offset:2px}.au-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 12px;margin-bottom:18px}.au-filters label{margin:0;min-width:200px}.au-filters .ghost{margin-left:0}.au-day{margin-bottom:22px}.au-day-h{font-size:13px;font-weight:650;text-transform:capitalize;margin:0 0 8px;color:var(--text)}.au-day-h .muted{font-weight:400;text-transform:none}.au-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.au-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:start;padding:11px 14px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--c);border-radius:var(--radius);font-size:14px}.au-item[data-tone=warn]{background:linear-gradient(90deg,var(--warn-soft),var(--surface) 60%)}.au-item[data-tone=bad]{background:linear-gradient(90deg,var(--danger-soft),var(--surface) 60%)}.au-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--cs);color:var(--c);font-size:15px;line-height:1}.au-body{min-width:0;display:grid;gap:3px}.au-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.au-label{font-weight:650}.au-cat{font-size:11.5px;font-weight:600;padding:1px 8px;border-radius:999px;background:var(--cs);color:var(--c)}.au-tone{font-size:11.5px;font-weight:700;padding:1px 8px;border-radius:999px}.au-item[data-tone=warn] .au-tone{background:var(--warn-soft);color:var(--warn);border:1px solid currentColor}.au-item[data-tone=bad] .au-tone{background:var(--danger-soft);color:var(--danger);border:1px solid currentColor}.au-target{font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}.au-detail{font-size:13px;overflow-wrap:anywhere}.au-problems{margin:2px 0 0;padding-left:18px;font-size:13px;display:grid;gap:2px;overflow-wrap:anywhere}.au-meta{display:grid;justify-items:end;gap:2px;font-size:12px;color:var(--muted);white-space:nowrap}.au-meta time{color:var(--text);font-variant-numeric:tabular-nums}.au-more{max-width:200px}@media (max-width: 640px){.au-item{grid-template-columns:30px minmax(0,1fr)}.au-meta{grid-column:2;justify-items:start;display:flex;flex-wrap:wrap;gap:4px 10px;white-space:normal}}.cat{position:relative;--ease: cubic-bezier(.2, .8, .2, 1)}.cat-icon{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.cat-progress{position:absolute;top:-12px;left:0;right:0;height:2px;border-radius:2px;overflow:hidden;opacity:0;transition:opacity .3s;pointer-events:none}.cat-progress.on{opacity:1}.cat-progress:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:40%;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:cat-indeterminate 1.1s ease-in-out infinite}@keyframes cat-indeterminate{0%{transform:translate(-100%)}to{transform:translate(250%)}}.cat-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.cat-head p{max-width:640px}.cat-refresh{display:inline-flex;align-items:center;gap:7px;font-size:14px;background:var(--surface);transition:border-color .2s,color .2s,box-shadow .2s}.cat-refresh:not(:disabled):hover{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.cat-refresh:not(:disabled):hover .cat-icon{transform:rotate(-60deg)}.cat-refresh .cat-icon{transition:transform .4s var(--ease)}.cat-refresh.spinning .cat-icon{animation:cat-spin .9s linear infinite}@keyframes cat-spin{to{transform:rotate(360deg)}}.cat-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.cat-stat{--tone: var(--accent);--tone-soft: var(--accent-soft);position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);animation:cat-rise .5s var(--ease) both;animation-delay:calc(var(--i) * 70ms)}.cat-stat:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--tone);transform:scaleX(0);transform-origin:left;animation:cat-grow .8s var(--ease) both;animation-delay:calc(.2s + var(--i) * 90ms)}.cat-stat-agent{--tone: var(--info);--tone-soft: var(--info-soft)}.cat-stat-project{--tone: var(--ok);--tone-soft: var(--ok-soft)}.cat-stat-icon{grid-row:span 2;width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--tone-soft);color:var(--tone)}.cat-stat-icon .cat-icon{width:19px;height:19px}.cat-stat-value{font-size:24px;line-height:1.15;font-weight:700;font-variant-numeric:tabular-nums}.cat-stat-value small{font-size:14px;font-weight:400;color:var(--muted);margin-left:2px}.cat-stat-label{font-size:12.5px;color:var(--muted);letter-spacing:.01em}@keyframes cat-grow{to{transform:scaleX(1)}}.cat-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.cat-search{position:relative;flex:1;min-width:240px;margin:0;font-weight:400}.cat-search .cat-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);transition:color .2s;pointer-events:none}.cat-search input{margin:0;padding-left:36px;height:38px;transition:border-color .2s,box-shadow .2s}.cat-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.cat-search:focus-within .cat-icon{color:var(--accent)}.cat-segment{position:relative;display:grid;grid-template-columns:repeat(var(--n),1fr);padding:3px;height:38px;background:var(--surface-2);border:1px solid var(--border);border-radius:9px}.cat-segment-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / var(--n));background:var(--surface);border-radius:6px;box-shadow:0 1px 3px #1018281f;transform:translate(calc(var(--k) * 100%));transition:transform .35s var(--ease)}.cat-segment button{position:relative;z-index:1;background:none;border:0;padding:0 14px;font-size:13.5px;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;transition:color .2s}.cat-segment button.on{color:var(--text);font-weight:600}.cat-segment-n{font-size:11.5px;font-variant-numeric:tabular-nums;padding:0 6px;border-radius:999px;background:var(--border);color:var(--muted);font-weight:600;transition:background .2s,color .2s}.cat-segment button.on .cat-segment-n{background:var(--accent-soft);color:var(--accent)}.cat-select{height:38px;font:inherit;font-size:14px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:0 10px;min-width:180px;transition:border-color .2s}.cat-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.cat-views{display:flex;gap:4px;margin-bottom:12px;border-bottom:1px solid var(--border)}.cat-views button{position:relative;display:inline-flex;align-items:center;gap:7px;background:none;border:0;border-radius:0;padding:8px 4px 10px;margin-right:18px;color:var(--muted);font-size:14.5px;transition:color .2s}.cat-views button:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);border-radius:2px;transform:scaleX(0);transition:transform .3s var(--ease)}.cat-views button:hover{color:var(--text)}.cat-views button.on{color:var(--text);font-weight:600}.cat-views button.on:after{transform:scaleX(1)}.cat-views button.on .cat-icon{color:var(--accent)}.cat-foot{font-size:12.5px;color:var(--muted);margin:10px 0 0}.cat-list{display:flex;flex-direction:column;gap:14px;margin-top:14px}.cat-project{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel);box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:12px;animation:cat-rise .5s var(--ease) both;animation-delay:calc(min(var(--i),8)*60ms);transition:box-shadow .25s}.cat-project:hover{box-shadow:0 6px 20px -8px #10182824}@keyframes cat-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.cat-project-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cat-project-title{display:flex;flex-direction:column;flex:1;min-width:180px;gap:1px}.cat-project-title strong{font-size:16px}.cat-project-title .mono{font-size:12px}.cat-ref{font-size:11.5px;padding:2px 8px;border-radius:6px;border:1px solid var(--border);color:var(--muted);background:var(--surface-2)}.cat-project-counts{display:flex;gap:6px}.cat-count{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;padding:3px 9px 3px 7px;border-radius:999px}.cat-count .cat-icon{width:14px;height:14px}.cat-count-skill{background:var(--accent-soft);color:var(--accent)}.cat-count-agent{background:var(--info-soft);color:var(--info)}.cat-error{margin:0;color:var(--danger);background:var(--danger-soft);padding:9px 12px;border-radius:8px;font-size:13.5px}.cat-empty{margin:0;font-size:13px;color:var(--muted);padding:10px 12px;border:1px dashed var(--border);border-radius:10px}.cat-empty-page{display:flex;align-items:center;gap:10px;color:var(--muted);padding:24px;border:1px dashed var(--border);border-radius:var(--radius);justify-content:center;animation:cat-rise .4s var(--ease) both}.cat-empty-page .cat-icon{width:20px;height:20px;opacity:.6}.cat-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;overflow:hidden}.cat-item{--tone: var(--accent);--tone-soft: var(--accent-soft);position:relative;animation:cat-fade .35s ease both;animation-delay:calc(.12s + min(var(--i),12)*30ms)}.cat-item-agent{--tone: var(--info);--tone-soft: var(--info-soft)}.cat-item+.cat-item{border-top:1px solid var(--border)}.cat-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--tone);transform:scaleY(0);transition:transform .3s var(--ease);z-index:1}.cat-item:hover:before,.cat-item.open:before{transform:scaleY(1)}@keyframes cat-fade{0%{opacity:0}to{opacity:1}}.cat-item-head{width:100%;display:flex;align-items:flex-start;gap:12px;text-align:left;background:none;color:inherit;border:0;border-radius:0;padding:12px 14px;transition:background .2s}.cat-item-head:hover,.cat-item.open .cat-item-head{background:color-mix(in srgb,var(--tone-soft) 45%,var(--surface))}.cat-item-head:focus-visible{outline-offset:-2px}.cat-kind{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:8px;background:var(--tone-soft);color:var(--tone);transition:transform .3s var(--ease)}.cat-item-head:hover .cat-kind{transform:scale(1.08)}.cat-item.open .cat-kind{transform:scale(1.08) rotate(-6deg)}.cat-item-title{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.cat-item-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cat-item-name strong{font-size:13.5px}.cat-tag{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tone)}.cat-desc{font-size:13px;color:var(--muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cat-item.open .cat-desc{display:block}.cat mark{background:color-mix(in srgb,var(--warn) 22%,transparent);color:inherit;border-radius:3px;padding:0 1px}.cat-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end;padding-top:4px}.cat-chip{font-size:11.5px;padding:2px 8px;border-radius:999px;background:var(--surface);color:var(--muted);border:1px solid var(--border);white-space:nowrap}.cat-chip-shared{border-style:dashed}.cat-chevron{color:var(--muted);display:grid;transition:transform .3s var(--ease),color .2s}.cat-item.open .cat-chevron{transform:rotate(90deg);color:var(--tone)}.cat-global{background:var(--surface);box-shadow:var(--shadow)}.cat-avatars{display:inline-flex;align-items:center;padding-left:6px}.cat-avatars .project-logo,.cat-avatars .project-logo.initials{width:24px;height:24px;border-radius:999px;margin-left:-5px;font-size:9px;font-weight:700;letter-spacing:0;line-height:1;box-shadow:0 0 0 2px var(--surface);transition:transform .25s var(--ease)}.cat-ptab .project-logo.initials{font-size:8.5px;font-weight:700;letter-spacing:0;line-height:1}.cat-item-head:hover .cat-avatars .project-logo{transform:translateY(-1px)}.cat-avatars-more{margin-left:4px;font-size:11.5px;color:var(--muted);font-weight:600}.cat-uses{font-size:12.5px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;min-width:72px}.cat-chip-warn{color:var(--warn);background:var(--warn-soft);border-color:transparent}.cat-projects-tabs{display:flex;flex-wrap:wrap;gap:6px}.cat-ptab{display:inline-flex;align-items:center;gap:7px;font-size:13px;padding:4px 10px 4px 5px;background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--muted);transition:border-color .2s,color .2s,box-shadow .2s}.cat-ptab .project-logo{width:22px;height:22px;border-radius:999px}.cat-ptab:hover{color:var(--text)}.cat-ptab.on{color:var(--text);font-weight:600;border-color:var(--tone);box-shadow:0 0 0 3px var(--tone-soft)}.cat-goto{font-size:12.5px}.cat-content{animation:cat-fade .25s ease both}.cat-detail-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease)}.cat-item.open .cat-detail-wrap{grid-template-rows:1fr}.cat-detail-inner{overflow:hidden;min-height:0}.cat-detail{padding:2px 14px 14px 56px;display:flex;flex-direction:column;gap:10px;background:color-mix(in srgb,var(--tone-soft) 45%,var(--surface));opacity:0;transform:translateY(-4px);transition:opacity .25s,transform .3s var(--ease)}.cat-item.open .cat-detail{opacity:1;transform:none;transition-delay:.08s}.cat-detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:12.5px;color:var(--muted)}.cat-path{display:inline-flex;align-items:center;gap:6px;font-size:12px}.cat-path .cat-icon{width:13px;height:13px}.cat-link{display:inline-flex;align-items:center;gap:4px;font-weight:600;text-decoration:none;margin-left:auto}.cat-link .cat-icon{width:13px;height:13px;transition:transform .25s var(--ease)}.cat-link:hover .cat-icon{transform:translate(2px,-2px)}.cat-tools{display:flex;flex-wrap:wrap;gap:5px}.cat-tool{font-size:11.5px;padding:2px 7px;border-radius:5px;background:var(--surface);border:1px solid var(--border)}.cat-content{margin:0;max-height:420px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.6;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.cat-skeleton .cat-items{border-color:var(--border)}.cat-skeleton .cat-item-head{cursor:default}.sk{display:block;border-radius:6px;background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 45%,var(--surface-2) 65%);background-size:300% 100%;animation:cat-shimmer 1.4s linear infinite}.sk-logo{width:34px;height:34px;border-radius:8px}.sk-dot{width:30px;height:30px;border-radius:8px;flex:none}.sk-line{height:11px;margin:3px 0}.w25{width:25%}.w30{width:30%}.w40{width:40%}.w70{width:70%}@keyframes cat-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (max-width: 760px){.cat-stats{grid-template-columns:1fr}.cat-segment,.cat-select{width:100%}.cat-item-head{flex-wrap:wrap}.cat-meta{justify-content:flex-start;width:100%;padding-left:42px}.cat-detail{padding-left:14px}}@media (prefers-reduced-motion: reduce){.cat *,.cat *:before,.cat *:after{animation:none!important;transition:none!important}}.vl{position:relative;--ease: cubic-bezier(.2, .8, .2, 1);--sev-critical: #b4232f;--sev-critical-soft: #fde8ea;--sev-high: #d0560b;--sev-high-soft: #fff0e3;--sev-medium: #a87400;--sev-medium-soft: #fff6dc;--sev-low: #3d6fb6;--sev-low-soft: #eaf1fb;--sev-unknown: #7c8594;--sev-unknown-soft: #f0f1f6}.vl-sev-critical{--c: var(--sev-critical);--cs: var(--sev-critical-soft)}.vl-sev-high{--c: var(--sev-high);--cs: var(--sev-high-soft)}.vl-sev-medium{--c: var(--sev-medium);--cs: var(--sev-medium-soft)}.vl-sev-low{--c: var(--sev-low);--cs: var(--sev-low-soft)}.vl-sev-unknown{--c: var(--sev-unknown);--cs: var(--sev-unknown-soft)}.vl-icon{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.vl-ok-text{color:var(--ok);display:inline-flex;align-items:center;gap:4px}.vl-warn-text{color:var(--warn)}.vl-bad-text{color:var(--danger)}.vl-ok-text .vl-icon{width:13px;height:13px}.vl-progress{position:absolute;top:-12px;left:0;right:0;height:2px;border-radius:2px;overflow:hidden;opacity:0;transition:opacity .3s;pointer-events:none}.vl-progress.on{opacity:1}.vl-progress:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:40%;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:vl-indeterminate 1.1s ease-in-out infinite}@keyframes vl-indeterminate{0%{transform:translate(-100%)}to{transform:translate(250%)}}.vl-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.vl-head p{max-width:640px}.vl-head-actions{display:flex;gap:8px;flex-wrap:wrap}.vl-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:14px;height:36px;padding:0 13px;background:var(--surface);border:1px solid var(--border);color:var(--text);white-space:nowrap;transition:border-color .2s,color .2s,box-shadow .2s,background .2s}.vl-btn:not(:disabled):hover{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.vl-btn.icon{width:36px;padding:0;color:var(--muted)}.vl-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.vl-btn.primary:not(:disabled):hover{color:var(--accent-text);filter:brightness(1.08)}.vl-btn.ok,.vl-btn.ok:hover{color:var(--ok);border-color:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.vl-btn.ghosty{border-color:transparent;background:transparent}.vl-btn .vl-icon{transition:transform .4s var(--ease)}.vl-btn:not(:disabled):hover .vl-icon{transform:rotate(-30deg)}.vl-btn.primary:hover .vl-icon,.vl-btn.ok .vl-icon{transform:none}.vl-btn.spinning .vl-icon{animation:vl-spin .9s linear infinite}@keyframes vl-spin{to{transform:rotate(360deg)}}.vl-alert{display:flex;align-items:center;gap:8px;margin:0 0 14px;padding:9px 12px;border-radius:8px;font-size:13.5px}.vl-alert.warn{color:var(--warn);background:var(--warn-soft)}.vl-alert.bad{color:var(--danger);background:var(--danger-soft)}.vl-alert.mono{font-size:12px;white-space:pre-wrap;word-break:break-word;margin:0}.vl-overview{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:12px;margin-bottom:22px}.vl-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr;gap:14px 16px;align-items:center;padding:18px 20px;border-radius:var(--radius-panel);border:1px solid var(--border);background:linear-gradient(135deg,color-mix(in srgb,var(--sev-critical-soft) 70%,var(--surface)),var(--surface) 65%);animation:vl-rise .5s var(--ease) both}.vl-overview.clean .vl-hero{background:linear-gradient(135deg,var(--ok-soft),var(--surface) 70%)}.vl-hero-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--sev-critical-soft);color:var(--sev-critical)}.vl-overview.clean .vl-hero-icon{background:var(--ok-soft);color:var(--ok)}.vl-hero-icon .vl-icon{width:24px;height:24px}.vl-hero-text{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.vl-hero-value{font-size:40px;line-height:1;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.vl-hero-label{color:var(--muted);font-size:15px}.vl-overview.clean .vl-hero-value{display:none}.vl-overview.clean .vl-hero-label{color:var(--ok);font-weight:600}.vl-hero-dist{grid-column:1 / -1;display:grid;gap:10px}.vl-bar{display:flex;gap:2px;height:10px;border-radius:999px;overflow:hidden;background:var(--surface-2);width:100%}.vl-bar.thin{height:5px;gap:1px}.vl-bar i{background:var(--c);min-width:6px;transform-origin:left;animation:vl-grow .8s var(--ease) both}.vl-bar i:first-child{border-radius:999px 0 0 999px}.vl-bar i:last-child{border-radius:0 999px 999px 0}.vl-bar i:only-child{border-radius:999px}@keyframes vl-grow{0%{transform:scaleX(0)}to{transform:none}}.vl-legend{display:flex;flex-wrap:wrap;gap:4px 6px}.vl-legend-item{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;font-size:13px;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:999px;transition:background .2s,border-color .2s,color .2s}.vl-legend-item b{color:var(--text)}.vl-legend-item i{width:9px;height:9px;border-radius:3px;background:var(--c)}.vl-legend-item:hover{background:var(--surface);border-color:var(--border);color:var(--text)}.vl-legend-item.on{background:var(--surface);border-color:var(--c);color:var(--text);box-shadow:0 0 0 3px var(--cs)}.vl-stats{display:grid;grid-template-rows:repeat(3,1fr);gap:8px}.vl-stat{--tone: var(--accent);--tone-soft: var(--accent-soft);display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;padding:8px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);animation:vl-rise .5s var(--ease) both;animation-delay:calc(80ms + var(--i) * 70ms)}.vl-stat.tone-danger{--tone: var(--sev-critical);--tone-soft: var(--sev-critical-soft)}.vl-stat.tone-ok{--tone: var(--ok);--tone-soft: var(--ok-soft)}.vl-stat-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--tone-soft);color:var(--tone)}.vl-stat-value{font-size:20px;font-weight:700;min-width:2.2ch}.vl-stat-value small{font-size:13px;font-weight:400;color:var(--muted);margin-left:3px}.vl-stat-label{font-size:13px;color:var(--muted)}.vl-views{display:flex;gap:4px;margin-bottom:12px;border-bottom:1px solid var(--border)}.vl-views button{position:relative;display:inline-flex;align-items:center;gap:7px;background:none;border:0;border-radius:0;padding:8px 4px 10px;margin-right:18px;color:var(--muted);font-size:14.5px;transition:color .2s}.vl-views button:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);border-radius:2px;transform:scaleX(0);transition:transform .3s var(--ease)}.vl-views button:hover{color:var(--text)}.vl-views button.on{color:var(--text);font-weight:600}.vl-views button.on:after{transform:scaleX(1)}.vl-views button.on .vl-icon{color:var(--accent)}.vl-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}.vl-search{position:relative;flex:1;min-width:220px;margin:0;font-weight:400}.vl-search .vl-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;transition:color .2s}.vl-search input{margin:0;padding-left:36px;height:38px;transition:border-color .2s,box-shadow .2s}.vl-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.vl-search:focus-within .vl-icon{color:var(--accent)}.vl-segment{position:relative;display:grid;grid-template-columns:repeat(var(--n),1fr);padding:3px;height:38px;background:var(--surface-2);border:1px solid var(--border);border-radius:9px}.vl-segment-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / var(--n));background:var(--surface);border-radius:6px;box-shadow:0 1px 3px #1018281f;transform:translate(calc(var(--k) * 100%));transition:transform .35s var(--ease)}.vl-segment button{position:relative;z-index:1;background:none;border:0;padding:0 11px;font-size:13.5px;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;transition:color .2s}.vl-segment button i{width:8px;height:8px;border-radius:50%;background:var(--c)}.vl-segment button.on{color:var(--text);font-weight:600}.vl-segment-n{font-size:11.5px;font-variant-numeric:tabular-nums;padding:0 6px;border-radius:999px;background:var(--border);color:var(--muted);font-weight:600}.vl-segment button.on .vl-segment-n{background:var(--accent-soft);color:var(--accent)}.vl-toggle{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;font-size:13.5px;background:var(--surface);border:1px solid var(--border);color:var(--muted);transition:all .2s}.vl-toggle:hover{color:var(--text)}.vl-toggle.on{color:var(--accent);border-color:var(--accent);background:var(--accent-soft);font-weight:600}.vl-list{display:flex;flex-direction:column;gap:12px}.vl-project{--tone: var(--border);position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel);box-shadow:var(--shadow);overflow:hidden;animation:vl-rise .5s var(--ease) both;animation-delay:calc(min(var(--i),8)*60ms);transition:box-shadow .25s}.vl-project:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--tone)}.vl-project:hover{box-shadow:0 6px 20px -8px #10182829}.vl-project.vl-tone-critical{--tone: var(--sev-critical)}.vl-project.vl-tone-high{--tone: var(--sev-high)}.vl-project.vl-tone-medium{--tone: var(--sev-medium)}.vl-project.vl-tone-low{--tone: var(--sev-low)}.vl-project.vl-tone-error{--tone: var(--danger)}.vl-project>:not(.vl-collapse):not(.vl-project-head){margin:0 16px 12px 20px}.vl-project-head{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px}.vl-project-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:12px;text-align:left;color:inherit;background:none;border:0;padding:8px 8px 8px 12px;border-radius:12px;transition:background .2s}.vl-project-toggle:not(:disabled):hover{background:var(--surface-2)}.vl-project-toggle:disabled{opacity:1;cursor:default}.vl-project-title{display:flex;flex-direction:column;gap:1px;min-width:150px;flex:1}.vl-project-title strong{font-size:16px}.vl-project-title .small{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.vl-project-risk{display:grid;gap:6px;justify-items:end;min-width:0}.vl-project-risk .vl-bar{width:100%;min-width:140px}.vl-project-counts{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.vl-count{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:650;font-variant-numeric:tabular-nums;color:var(--c);background:var(--cs);padding:1px 9px 1px 7px;border-radius:999px}.vl-count i{width:7px;height:7px;border-radius:50%;background:var(--c)}.vl-count-label{font-weight:500}.vl-chevron{color:var(--muted);display:grid;transition:transform .3s var(--ease),color .2s}.vl-project.open>.vl-project-head .vl-chevron{transform:rotate(90deg);color:var(--text)}.vl-project-actions{display:flex;gap:6px;align-items:center}.vl-spinner{width:11px;height:11px;border-radius:50%;border:2px solid var(--accent-soft);border-top-color:var(--accent);animation:vl-spin .8s linear infinite}.vl-confirm{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;padding:12px 14px;border-radius:12px;background:var(--accent-soft);font-size:14px;animation:vl-slide .3s var(--ease)}.vl-confirm ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:3px}.vl-confirm li{display:flex;align-items:center;gap:6px;font-size:13px}.vl-confirm li .vl-icon{width:13px;height:13px;color:var(--muted)}.vl-confirm-actions{display:flex;gap:6px}.vl-confirm>div:first-child{flex:1;min-width:240px}.vl-confirm p{margin:4px 0 0;color:var(--muted);max-width:640px}.vl-confirm.docs{background:var(--info-soft)}.dm-project-pick{display:flex;align-items:center;gap:8px;margin:10px 0 0;font-size:13.5px;font-weight:500}.dm-project-pick select{height:34px;font:inherit;font-size:14px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:0 10px}.vl-update{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--muted);padding:8px 12px;border-radius:10px;background:var(--surface-2)}.vl-update.live{background:var(--warn-soft)}.vl-update>.vl-icon{color:var(--accent)}.vl-update a{display:inline-flex;align-items:center;gap:4px;margin-left:auto;font-weight:600;text-decoration:none}.vl-update a .vl-icon{width:13px;height:13px}.vl-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease)}.vl-collapse>div{overflow:hidden;min-height:0}.vl-project.open>.vl-collapse,.vl-pkg.open>.vl-collapse{grid-template-rows:1fr}.vl-pkgs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.vl-project .vl-pkgs{border-top:1px solid var(--border);margin-top:2px}.vl-flat{border:1px solid var(--border);border-radius:var(--radius-panel);overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}.vl-pkg{position:relative;animation:vl-fade .35s ease both;animation-delay:calc(min(var(--i),14)*25ms)}.vl-pkg+.vl-pkg{border-top:1px solid var(--border)}.vl-pkg.resolved{opacity:.6}.vl-pkg-head{width:100%;display:grid;grid-template-columns:104px minmax(0,1fr) auto;align-items:center;gap:14px;text-align:left;color:inherit;background:none;border:0;border-radius:0;padding:11px 16px 11px 20px;transition:background .2s}.vl-pkg-head:hover,.vl-pkg.open .vl-pkg-head{background:color-mix(in srgb,var(--surface-2) 70%,var(--surface))}.vl-pkg-head:focus-visible{outline-offset:-2px}.vl-pill{justify-self:start;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:650;white-space:nowrap;padding:2px 9px;border-radius:6px;color:var(--c);background:var(--cs)}.vl-pill b{font-weight:700;font-variant-numeric:tabular-nums;padding-left:6px;border-left:1px solid color-mix(in srgb,var(--c) 30%,transparent)}.vl-pill.vl-sev-critical{color:#fff;background:var(--sev-critical)}.vl-pill.vl-sev-critical b{border-color:#ffffff59}.vl-pkg-main{display:flex;flex-direction:column;gap:2px;min-width:0}.vl-pkg-name{display:flex;align-items:center;gap:4px 12px;flex-wrap:wrap}.vl-pkg-name strong{font-size:14px;overflow-wrap:anywhere}.vl-upgrade{display:inline-flex;align-items:center;gap:5px;font-size:12.5px}.vl-upgrade .vl-icon{width:13px;height:13px;color:var(--muted)}.vl-from{color:var(--muted);font-size:12.5px}.vl-to{color:var(--ok);font-weight:650;font-size:12.5px;background:var(--ok-soft);padding:0 6px;border-radius:5px}.vl-nofix{font-size:11.5px;color:var(--warn);background:var(--warn-soft);padding:0 7px;border-radius:5px}.vl-pkg-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;font-size:12.5px;color:var(--muted)}.vl-path{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;min-width:0;overflow-wrap:anywhere}.vl-path .vl-icon{width:12px;height:12px}.vl-pkg-project{display:inline-flex;align-items:center;gap:6px;color:var(--text);font-weight:600}.vl-pkg-project .project-logo{width:18px;height:18px;border-radius:5px;font-size:8px}.vl-pkg-side{display:flex;align-items:center;gap:6px}.vl-pkg.open .vl-chevron{transform:rotate(90deg);color:var(--text)}.vl-chip{font-size:11.5px;padding:1px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:var(--surface);white-space:nowrap;font-variant-numeric:tabular-nums}.vl-chip.warn{color:var(--warn);background:var(--warn-soft);border-color:transparent}.vl-advs{list-style:none;margin:0;padding:4px 16px 12px 138px;display:grid;gap:4px;background:color-mix(in srgb,var(--surface-2) 70%,var(--surface))}.vl-adv{display:grid;grid-template-columns:10px 1fr;gap:10px;padding:9px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--border)}.vl-adv.resolved{opacity:.6}.vl-dot{width:8px;height:8px;border-radius:50%;background:var(--c);margin-top:6px}.vl-adv-body{min-width:0;display:grid;gap:4px}.vl-adv-body p{margin:0;font-size:13.5px;line-height:1.5}.vl-adv-ids{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.vl-id{font-size:12px;color:var(--muted);text-decoration:none}.vl-id:hover{text-decoration:underline;color:var(--accent)}.vl-id.main{color:var(--accent);font-weight:650;font-size:12.5px}.vl-adv-sev{font-size:11.5px;color:var(--muted);margin-left:auto}.vl-adv-meta{display:flex;flex-wrap:wrap;gap:2px 14px;font-size:12px;color:var(--muted)}.vl-clean{margin-top:26px}.vl-h2{display:flex;align-items:center;gap:8px;font-size:13px;margin:0 0 10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600}.vl-h2>.vl-icon{color:var(--ok)}.vl-clean ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}.vl-clean li{display:flex;align-items:center;gap:10px;padding:8px 6px 8px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);animation:vl-rise .45s var(--ease) both;animation-delay:calc(min(var(--i),12)*35ms)}.vl-clean .project-logo{width:28px;height:28px;border-radius:8px;font-size:11px}.vl-clean-text{flex:1;min-width:0;display:flex;flex-direction:column}.vl-clean-text strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vl-clean li .vl-btn{opacity:0;transition:opacity .2s}.vl-clean li:hover .vl-btn,.vl-clean li .vl-btn:focus-visible,.vl-clean li .vl-btn.spinning{opacity:1}.vl-empty{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;color:var(--muted);padding:26px;border:1px dashed var(--border);border-radius:var(--radius);animation:vl-rise .4s var(--ease) both}.vl-empty.ok{color:var(--ok)}.vl-skeleton{display:grid;gap:12px}.vl .sk{display:block;border-radius:var(--radius-panel);background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 45%,var(--surface-2) 65%);background-size:300% 100%;animation:vl-shimmer 1.4s linear infinite}.vl-sk-hero{height:128px;margin-bottom:10px}.vl-sk-card{height:64px}@keyframes vl-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@keyframes vl-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes vl-fade{0%{opacity:0}to{opacity:1}}@keyframes vl-slide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.dm-anchor{scroll-margin-top:16px}.dm-card.tone-bad{--tone: var(--sev-critical)}.dm-card.tone-warn{--tone: var(--sev-medium)}.dm-card.tone-good{--tone: var(--ok)}.dm-card.tone-error{--tone: var(--danger)}.dm-host{overflow-wrap:anywhere}.dm-grade{--g: var(--muted);--gs: var(--surface-2);position:relative;flex:none;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font:800 18px/1 var(--font-body);color:var(--g);background:var(--gs);border:1.5px solid color-mix(in srgb,var(--g) 35%,transparent)}.dm-grade.g-A{--g: var(--ok);--gs: var(--ok-soft)}.dm-grade.g-B{--g: #3f8a2c;--gs: #eef7e8}.dm-grade.g-C{--g: var(--sev-medium);--gs: var(--sev-medium-soft)}.dm-grade.g-D{--g: var(--sev-high);--gs: var(--sev-high-soft)}.dm-grade.g-F{--g: var(--sev-critical);--gs: var(--sev-critical-soft)}.dm-grade.g-none{font-size:15px}.dm-trend{position:absolute;right:-6px;top:-6px;font-style:normal;font-size:8px;width:15px;height:15px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 0 0 2px var(--surface)}.dm-trend.up{background:var(--ok)}.dm-trend.down{background:var(--sev-critical)}.dm-avatars{display:inline-flex;align-items:center;padding-left:6px}.dm-avatars .project-logo{width:24px;height:24px;border-radius:999px;margin-left:-6px;font-size:9px;letter-spacing:0;box-shadow:0 0 0 2px var(--surface)}.dm-avatars .vl-chip{margin-left:4px}.dm-tally{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.dm-pill{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:650;padding:1px 9px;border-radius:999px;white-space:nowrap}.dm-pill .vl-icon{width:13px;height:13px}.dm-pill.bad{color:var(--sev-critical);background:var(--sev-critical-soft)}.dm-pill.warn{color:var(--sev-medium);background:var(--sev-medium-soft)}.dm-pill.good{color:var(--ok);background:var(--ok-soft)}.dm-body{border-top:1px solid var(--border);padding:14px 16px 16px 20px;display:grid;gap:16px;background:color-mix(in srgb,var(--surface-2) 55%,var(--surface))}.dm-group h3{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:13px;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.dm-group h3>.vl-icon{color:var(--accent)}.dm-group-n{margin-left:auto;font-size:11.5px;text-transform:none;letter-spacing:0;font-weight:600;padding:1px 8px;border-radius:999px}.dm-group-n.bad{color:var(--sev-medium);background:var(--sev-medium-soft)}.dm-group-n.good{color:var(--ok);background:var(--ok-soft)}.dm-allgood{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;color:var(--ok)}.dm-allgood .vl-icon{width:14px;height:14px}.dm-checks{list-style:none;margin:0;padding:0;display:grid;gap:6px}.dm-check{--c: var(--muted);--cs: var(--surface-2);display:grid;grid-template-columns:26px 1fr;gap:12px;padding:11px 14px;background:var(--surface);border:1px solid var(--border);border-radius:12px;animation:vl-fade .3s ease both}.dm-check.st-ok{--c: var(--ok);--cs: var(--ok-soft)}.dm-check.st-warn{--c: var(--sev-medium);--cs: var(--sev-medium-soft)}.dm-check.st-fail{--c: var(--sev-critical);--cs: var(--sev-critical-soft);border-color:color-mix(in srgb,var(--sev-critical) 25%,var(--border))}.dm-st{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;color:var(--c);background:var(--cs)}.dm-st .vl-icon{width:15px;height:15px;stroke-width:2.2}.dm-check-body{min-width:0;display:grid;gap:3px}.dm-check-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dm-check-title strong{font-size:14px}.dm-impact{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--c)}.dm-check-body p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}.dm-fix{position:relative;margin-top:6px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border);padding:8px 12px}.dm-fix-label{display:block;font-size:11px;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}.dm-fix pre{margin:0;padding-right:86px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12.5px;line-height:1.55}.dm-copy{position:absolute;top:6px;right:6px;display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;font-size:12px;background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:7px;transition:color .2s,border-color .2s}.dm-copy .vl-icon{width:13px;height:13px}.dm-copy:hover{color:var(--accent);border-color:var(--accent)}.dm-copy.ok{color:var(--ok);border-color:var(--ok)}.dm-check-body p.dm-howto{display:flex;align-items:flex-start;gap:6px;color:var(--text);font-size:13px;margin-top:2px}.dm-howto .vl-icon{width:13px;height:13px;margin-top:3px;color:var(--accent)}.dm-link{justify-self:start;display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;text-decoration:none;margin-top:2px}.dm-link .vl-icon{width:12px;height:12px}.dm-showall{justify-self:start;font-size:13px}.dm-grades{display:flex;flex-wrap:wrap;gap:6px}.dm-grade-chip{display:inline-flex;align-items:center;gap:8px;padding:3px 10px 3px 3px;font-size:13px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px;transition:border-color .2s,box-shadow .2s}.dm-grade-chip:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dm-grade-chip .dm-grade{width:26px;height:26px;border-radius:7px;font-size:13px}.dm-missing ul li{padding-right:10px}.dm-missing p{margin:-4px 0 10px}.vl{container-type:inline-size}@container (max-width: 820px){.vl-overview{grid-template-columns:1fr}.vl-stats{grid-template-rows:none;grid-template-columns:repeat(3,minmax(0,1fr))}.vl-stat{grid-template-columns:auto 1fr;gap:2px 10px}.vl-stat-icon{grid-row:span 2}.vl-stat-label{font-size:12px}.vl-count-label{display:none}.vl-advs{padding-left:16px}}@container (max-width: 600px){.vl-stats{grid-template-columns:1fr}.vl-stat{grid-template-columns:auto auto 1fr;gap:12px}.vl-stat-icon{grid-row:auto}.vl-project-head{flex-wrap:wrap;padding-right:6px}.vl-project-actions{width:100%;padding:0 0 6px 12px}.vl-project-risk,.dm-avatars{display:none}.dm-fix pre{padding-right:0;padding-top:26px}.vl-pkg-head{grid-template-columns:minmax(0,1fr) auto;padding-left:16px}.vl-pkg-head .vl-pill{grid-column:1 / -1}.vl-segment{width:100%;overflow-x:auto}.vl-hero-value{font-size:32px}}@media (prefers-reduced-motion: reduce){.vl *,.vl *:before,.vl *:after{animation:none!important;transition:none!important}}.sc-list{list-style:none;margin:0;padding:14px 16px 16px 20px;border-top:1px solid var(--border);display:grid;gap:6px}.sc-row{--c: var(--muted);--cs: var(--surface-2);display:grid;grid-template-columns:172px 1fr auto;align-items:start;gap:12px;padding:11px 14px;background:var(--surface);border:1px solid var(--border);border-radius:12px;animation:vl-fade .3s ease both}.sc-row.st-head{--c: var(--sev-critical);--cs: var(--sev-critical-soft);border-color:color-mix(in srgb,var(--sev-critical) 25%,var(--border))}.sc-row.st-history{--c: var(--sev-medium);--cs: var(--sev-medium-soft)}.sc-row.st-resolved{--c: var(--ok);--cs: var(--ok-soft);opacity:.7}.sc-row.st-ignored{opacity:.75}.sc-badge{justify-self:start;display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;color:var(--c);background:var(--cs);white-space:nowrap}.sc-badge .vl-icon{width:13px;height:13px;stroke-width:2.2}.sc-main{min-width:0;display:grid;gap:4px}.sc-main p{margin:0}.sc-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sc-preview{font-size:12px;padding:1px 6px;border-radius:6px;background:var(--surface-2);color:var(--muted)}.sc-meta{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center}.sc-meta a{display:inline-flex;align-items:center;gap:4px;color:var(--accent);text-decoration:none;overflow-wrap:anywhere}.sc-meta a:hover{text-decoration:underline}.sc-meta a .vl-icon{width:12px;height:12px}.sc-ignore{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.sc-ignore select{height:34px;font:inherit;font-size:13.5px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:0 8px}.sc-rotate{display:flex;gap:6px;align-items:flex-start}.sc-rotate .vl-icon{width:14px;height:14px;margin-top:2px;color:var(--sev-high)}@container (max-width: 640px){.sc-row{grid-template-columns:1fr}}.seo-body{border-top:1px solid var(--border);padding:14px 16px 14px 20px;background:color-mix(in srgb,var(--surface-2) 55%,var(--surface))}.seo-metrics{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}.seo-rings{display:flex;flex-wrap:wrap;gap:10px 18px}.seo-ring{--c: var(--muted);position:relative;display:grid;justify-items:center;gap:4px;width:78px}.seo-ring.t-good{--c: var(--ok)}.seo-ring.t-warn{--c: var(--sev-high)}.seo-ring.t-bad{--c: var(--sev-critical)}.seo-ring svg{width:52px;height:52px;transform:rotate(-90deg)}.seo-ring circle{fill:none;stroke-width:4.5}.seo-ring .track{stroke:color-mix(in srgb,var(--c) 16%,transparent)}.seo-ring .bar{stroke:var(--c);stroke-linecap:round;transition:stroke-dashoffset .9s var(--ease)}.seo-ring-value{position:absolute;top:0;height:52px;display:grid;place-items:center;font-weight:700;font-size:16px;color:var(--c)}.seo-ring-label{font-size:11.5px;color:var(--muted);text-align:center;line-height:1.2}.seo-vitals{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;flex:1;min-width:240px}.seo-vital{--c: var(--muted);--cs: var(--surface-2);display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12.5px;color:var(--muted);background:var(--surface);border:1px solid var(--border)}.seo-vital i{width:8px;height:8px;border-radius:50%;background:var(--c)}.seo-vital b{color:var(--text);font-weight:650}.seo-vital.t-good{--c: var(--ok)}.seo-vital.t-warn{--c: var(--sev-high)}.seo-vital.t-bad{--c: var(--sev-critical)}.seo-vital.t-none i{display:none}.seo-vitals .small{flex-basis:100%}.seo-url-form{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.seo-url-form input{flex:1;min-width:220px;height:36px;font:inherit;font-size:14px;padding:0 10px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px}.seo-url-form input:focus{outline:2px solid color-mix(in srgb,var(--accent) 40%,transparent);border-color:var(--accent)}.seo-setup .vl-h2>.vl-icon{color:var(--muted)}.seo-setup>p{margin:-4px 0 10px}.seo-setup ul{grid-template-columns:1fr}.seo-setup li{flex-wrap:wrap;padding:8px 10px}.seo-setup li .vl-clean-text{flex:0 1 220px}.seo-setup li .seo-url-form{flex:1 1 360px;margin:0}.seo-setup li .vl-btn{opacity:1}@media (prefers-reduced-motion: reduce){.seo-ring .bar{transition:none}}.seo-url-form .seo-site-name{flex:0 1 220px;min-width:160px}.seo-tag{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:600;vertical-align:2px;color:var(--muted);background:color-mix(in srgb,var(--muted) 12%,transparent)}.seo-delete{margin-top:10px}.metrics-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.metrics-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:24px}.metrics-tile{display:grid;gap:4px;padding:14px 16px}.metrics-value{font-size:26px;font-variant-numeric:tabular-nums;line-height:1.2}.metrics-tile.tone-ok .metrics-value,.metrics-table .tone-ok{color:var(--ok)}.metrics-tile.tone-warn .metrics-value,.metrics-table .tone-warn{color:var(--warn)}.metrics-tile.tone-bad .metrics-value,.metrics-table .tone-bad{color:var(--danger)}.metrics-scroll{overflow-x:auto;margin-bottom:12px}.metrics-table{max-width:none;min-width:760px}.metrics-table th[scope=row]{font-weight:600}.metrics-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.metrics-inactive{margin-left:8px;vertical-align:middle}.mr-badges{display:inline-flex;gap:6px;flex-wrap:wrap}.lc{--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--series-5: #e87ba4;--series-6: #008300;--series-7: #6250d6;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px 12px}.lc-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.lc-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 6px;flex:1;min-width:0}.lc-key{display:inline-flex;align-items:center;gap:7px;margin:0;padding:4px 9px;border-radius:999px;font-size:13px;background:none;color:var(--text);border:1px solid transparent;transition:opacity .15s,border-color .15s}.lc-key:hover{border-color:var(--border)}.lc-key.dim,.lc-key.off{opacity:.45}.lc-key.off .lc-swatch{background:var(--surface-2)!important;outline:1px dashed var(--muted)}.lc-key-name{font-weight:600}.lc-key-value{color:var(--muted);font-size:12px}.lc-key-down{color:var(--danger);font-weight:700;font-size:12px}.lc-swatch{width:14px;height:4px;border-radius:2px;flex:none;display:inline-block}.lc-range{display:inline-flex;background:var(--surface-2);border-radius:999px;padding:3px;gap:2px;flex:none}.lc-range button{background:none;color:var(--muted);border-radius:999px;padding:4px 11px;font-size:13px;margin:0}.lc-range button.active{background:var(--surface);color:var(--text);font-weight:700;box-shadow:var(--shadow)}.lc-plot{position:relative;width:100%}.lc-plot.loading svg{opacity:.55;transition:opacity .2s}.lc-plot svg{display:block;overflow:visible}.lc-grid{stroke:var(--border);stroke-width:1}.lc-axis{fill:var(--muted);font-size:11px;font-family:inherit}.lc-lane-title{font-weight:600}.lc-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;transition:opacity .15s}.lc-line.dim{opacity:.15}.lc-line.focus{stroke-width:2.5}.lc-lane{fill:var(--surface-2)}.lc-down{fill:var(--danger)}.lc-cross{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3;pointer-events:none}.lc-dot{stroke:var(--surface);stroke-width:2;pointer-events:none}.lc-hit{fill:transparent;cursor:crosshair}.lc-tip{position:absolute;top:4px;transform:translate(14px);pointer-events:none;z-index:2;min-width:190px;max-width:300px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 10px;box-shadow:0 8px 24px #10182824;font-size:12px}.lc-tip.left{transform:translate(calc(-100% - 14px))}.lc-tip-time{font-weight:700;margin-bottom:4px}.lc-tip-row{display:flex;align-items:center;gap:7px;padding:1px 0}.lc-tip-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lc-tip-down{color:var(--danger);font-weight:700}.lc-empty{position:absolute;left:0;right:0;top:90px;text-align:center;margin:0}.lc-table{margin-top:8px}.lc-table summary{cursor:pointer;color:var(--accent)}.lc-table .table{margin-top:8px;max-width:none;font-size:13px}.score-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap}.score-pill .num{font-size:13px}.score-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.score-green{background:var(--ok-soft);color:var(--ok)}.score-amber{background:var(--warn-soft);color:var(--warn)}.score-red{background:var(--danger-soft);color:var(--danger)}.score-name{font-weight:600}.score-worse{font-size:10px}.score-list{list-style:none;margin:0;padding:0;display:grid}.score-row{display:grid;grid-template-columns:120px 1fr auto;gap:10px;align-items:baseline;padding:7px 0;border-bottom:1px solid var(--border)}.score-row:last-child{border-bottom:none}.score-row-label{font-weight:600;font-size:14px}.score-row-detail{min-width:0;overflow-wrap:anywhere}.score-row-pen{font-weight:700;font-size:13px;color:var(--ok)}.score-row-penalty .score-row-pen{color:var(--danger)}.score-row-no_data .score-row-pen,.score-row-hidden .score-row-pen{color:var(--muted)}@media (max-width: 480px){.score-row{grid-template-columns:1fr auto}.score-row-detail{grid-column:1 / -1;grid-row:2}}.score-grid{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.score-card{padding:12px 14px;border-left:4px solid var(--border)}.score-card-green{border-left-color:var(--ok)}.score-card-amber{border-left-color:var(--warn)}.score-card-red{border-left-color:var(--danger)}.score-card-head{display:flex;align-items:center;gap:10px}.score-card-head .project-logo{width:28px;height:28px;border-radius:7px}.score-card-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-issues{margin:8px 0 0;padding-left:18px;display:grid;gap:2px}.score-card-ok{margin:8px 0 0}.ov-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.ov-live{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:5px 12px}.ov-live-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 var(--ok);animation:ov-ping 2s ease-out infinite}.ov-live.off .ov-live-dot{background:var(--danger);animation:none}@keyframes ov-ping{0%{box-shadow:0 0 color-mix(in srgb,var(--ok) 60%,transparent)}80%,to{box-shadow:0 0 0 8px transparent}}.ov-hero{display:grid;grid-template-columns:minmax(200px,280px) 1fr;gap:20px;align-items:center;padding:18px 22px;margin-bottom:26px;position:relative;overflow:hidden;border-radius:var(--radius-panel);background:linear-gradient(135deg,var(--surface) 55%,var(--accent-soft))}.ov-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;background:radial-gradient(400px 120px at 20% 100%,color-mix(in srgb,var(--accent) 18%,transparent),transparent);transition:opacity .6s}.ov-hero.busy:after{opacity:1}.ov-skeleton{height:150px;background:linear-gradient(90deg,var(--surface) 30%,var(--surface-2) 50%,var(--surface) 70%);background-size:300% 100%;animation:ov-shimmer 1.4s linear infinite}@keyframes ov-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.ov-hero-scene{display:flex;flex-direction:column;align-items:center;gap:4px}.ov-hero-state{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.ov-hero.busy .ov-hero-state{color:var(--accent)}.ov-scene{width:100%;max-width:320px;height:auto;overflow:visible}.ov-scene .ov-belt{fill:var(--belt, #c9cdda)}.ov-scene .ov-belt-marks{stroke:var(--belt-dash, #8d93a6);stroke-width:3;stroke-dasharray:6 10;fill:none}.ov-scene .ov-roller{fill:var(--surface);stroke:var(--belt-dash, #8d93a6);stroke-width:2}.ov-scene .ov-metal{fill:var(--belt-dash, #8d93a6)}.ov-scene .ov-metal-2{fill:var(--accent)}.ov-scene .ov-joint{fill:var(--surface);stroke:var(--accent);stroke-width:3}.ov-scene .ov-claw{stroke:var(--accent);stroke-width:3;stroke-linecap:round;fill:none}.ov-scene .ov-box rect{fill:color-mix(in srgb,var(--warn) 30%,var(--surface));stroke:var(--warn);stroke-width:1.5}.ov-scene .ov-box path{stroke:var(--warn);stroke-width:1.5;fill:none}.ov-scene .ov-box{transform:translate(20px);opacity:0}.ov-scene .ov-zzz text{font:700 12px var(--font-body);fill:var(--muted)}.ov-scene .ov-arm-base{transform-origin:160px 102px;transform:rotate(-8deg);transition:transform .8s}.ov-scene .ov-arm-fore{transform-origin:160px 58px;transform:rotate(-35deg);transition:transform .8s}.ov-scene.busy .ov-belt-marks{animation:ov-belt .6s linear infinite}.ov-scene.busy .ov-box{animation:ov-box 6s linear infinite}.ov-scene.busy .ov-arm-base{animation:ov-arm-base 3s ease-in-out infinite}.ov-scene.busy .ov-arm-fore{animation:ov-arm-fore 3s ease-in-out infinite}.ov-scene.busy .ov-zzz{display:none}.ov-scene.idle .ov-zzz text{animation:ov-zzz 3s ease-in-out infinite;opacity:0}.ov-scene.idle .ov-zzz text:nth-child(2){animation-delay:.5s}.ov-scene.idle .ov-zzz text:nth-child(3){animation-delay:1s}@keyframes ov-belt{to{stroke-dashoffset:-16}}@keyframes ov-box{0%{transform:translate(20px);opacity:0}6%{opacity:1}94%{opacity:1}to{transform:translate(280px);opacity:0}}@keyframes ov-arm-base{0%,to{transform:rotate(-14deg)}50%{transform:rotate(12deg)}}@keyframes ov-arm-fore{0%,to{transform:rotate(-30deg)}50%{transform:rotate(25deg)}}@keyframes ov-zzz{0%{opacity:0;transform:translateY(4px)}30%{opacity:1}to{opacity:0;transform:translateY(-8px)}}.ov-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;position:relative;z-index:1}.ov-stat{display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;min-width:0}.ov-stat-value{font-size:clamp(20px,2.1vw,30px);line-height:1.1;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:ov-pop .45s cubic-bezier(.34,1.56,.64,1)}.ov-stat-label{font-size:13px;color:var(--muted);font-weight:600}.ov-stat-hint{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-stat.accent{border-color:var(--accent)}.ov-stat.accent .ov-stat-value{color:var(--accent)}.ov-stat.good .ov-stat-value{color:var(--ok)}.ov-stat.bad{border-color:var(--danger);background:var(--danger-soft)}.ov-stat.bad .ov-stat-value{color:var(--danger)}@keyframes ov-pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.svc-section{margin-bottom:28px}.svc-every{font-weight:400;margin-left:4px}.jobs-count.bad{background:var(--danger-soft);color:var(--danger)}.svc-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap}.svc-pill-up{background:var(--ok-soft);color:var(--ok)}.svc-pill-down{background:var(--danger);color:#fff}.svc-pill-unknown{background:var(--surface-2);color:var(--muted)}.svc-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.svc-pill-up .svc-dot{animation:svc-ping 2s ease-out infinite}.svc-pill-down .svc-dot{animation:job-pulse .9s ease-in-out infinite}@keyframes svc-ping{0%{box-shadow:0 0 color-mix(in srgb,var(--ok) 70%,transparent)}80%,to{box-shadow:0 0 0 6px transparent}}.svc-hint{margin:8px 0 0}.jobs{margin-bottom:28px}.jobs-title-queued{margin-top:22px}.jobs-title{display:flex;align-items:center;gap:8px}.jobs-count{font-size:12px;font-weight:700;min-width:22px;padding:1px 7px;border-radius:999px;text-align:center;background:var(--accent-soft);color:var(--accent)}.job-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.ov-enter{animation:ov-enter .45s cubic-bezier(.2,.8,.2,1) both}@keyframes ov-enter{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.ov-empty{display:flex;align-items:center;gap:12px;color:var(--muted);border:1px dashed var(--border);border-radius:var(--radius);padding:20px}.ov-empty svg{width:28px;height:28px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.6;animation:ov-float 3s ease-in-out infinite}@keyframes ov-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.job{width:100%;text-align:left;color:inherit;font:inherit;padding:14px 16px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--border);position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}.job:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 8px 24px #1018281a}.job-head{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.job-title{display:flex;flex-direction:column;min-width:0}.job-title strong{overflow:hidden;text-overflow:ellipsis}.job-top{display:flex;align-items:center;gap:10px}.job-clock{font-size:13px;color:var(--accent);background:var(--accent-soft);padding:3px 9px;border-radius:999px;font-variant-numeric:tabular-nums;flex:none}.job-running{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.job-glow{position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,transparent,var(--accent),transparent);background-size:100% 200%;animation:ov-glow 2s linear infinite}@keyframes ov-glow{0%{background-position:0 100%}to{background-position:0 -100%}}.ov-track{list-style:none;margin:4px 0 0;padding:0;display:flex}.ov-node{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;min-width:0}.ov-link{position:absolute;top:15px;right:calc(50% + 18px);left:calc(-50% + 18px);height:3px;border-radius:3px;background:var(--surface-2);overflow:hidden}.ov-link.done{background:var(--ok)}.ov-link.flow{background:repeating-linear-gradient(90deg,var(--accent) 0 8px,transparent 8px 14px);background-size:28px 100%;animation:ov-flow .7s linear infinite}@keyframes ov-flow{to{background-position:28px 0}}.ov-dot{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--muted);border:2px solid transparent;transition:background .3s,color .3s;position:relative;z-index:1}.ov-dot svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ov-node-name{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.ov-node.done .ov-dot{background:var(--ok-soft);color:var(--ok)}.ov-node.on .ov-dot{background:var(--accent);color:var(--accent-text);animation:ov-ring 1.6s ease-out infinite}.ov-node.on .ov-node-name{color:var(--accent);font-weight:700}.ov-node.bad .ov-dot{background:var(--danger-soft);color:var(--danger)}.ov-node.skip{opacity:.45}@keyframes ov-ring{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 55%,transparent)}80%,to{box-shadow:0 0 0 10px transparent}}.ov-node.on .ov-spin{transform-origin:12px 12px;animation:ov-rot 3s linear infinite}.ov-node.on .ov-hammer{transform-origin:6px 18px;animation:ov-hammer .9s ease-in-out infinite}.ov-node.on .ov-scan{animation:ov-scan 2s ease-in-out infinite}@keyframes ov-rot{to{transform:rotate(360deg)}}@keyframes ov-hammer{0%,to{transform:rotate(0)}50%{transform:rotate(-18deg)}}@keyframes ov-scan{0%,to{transform:translate(-1.5px)}50%{transform:translate(1.5px,-1px)}}.job-detail{display:flex;align-items:center;gap:8px;min-width:0}.job-detail-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-pulse{width:8px;height:8px;flex:none;border-radius:50%;background:var(--accent);animation:job-pulse 1.4s ease-in-out infinite}@keyframes job-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.job-dots{display:inline-flex;gap:3px;flex:none}.job-dots i{width:4px;height:4px;border-radius:50%;background:var(--muted);animation:ov-dots 1.2s ease-in-out infinite}.job-dots i:nth-child(2){animation-delay:.15s}.job-dots i:nth-child(3){animation-delay:.3s}@keyframes ov-dots{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.job-bar{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.job-bar span{display:block;height:100%;border-radius:inherit;transition:width .6s cubic-bezier(.2,.8,.2,1);background:repeating-linear-gradient(45deg,var(--accent) 0 10px,color-mix(in srgb,var(--accent) 75%,white) 10px 20px);background-size:28px 28px;animation:ov-stripes 1s linear infinite}@keyframes ov-stripes{to{background-position:28px 0}}.job-queued{flex-direction:row;align-items:center;gap:12px}.job-pos{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:700;background:var(--surface-2);color:var(--muted)}.job-queued.next{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.job-queued.next .job-pos{background:var(--accent);color:var(--accent-text);animation:ov-ring 2.4s ease-out infinite}.job-wait{display:flex;flex-direction:column;align-items:flex-end;gap:3px;white-space:nowrap}.job-next{font-size:11px;font-weight:700;color:var(--accent);background:var(--accent-soft);padding:1px 8px;border-radius:999px}.jrow{padding:0;overflow:hidden;transition:border-color .2s,box-shadow .2s}.jrow:hover,.jrow.open{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.jrow.open{box-shadow:0 6px 20px #10182814}.jrow-head{width:100%;display:flex;align-items:center;gap:12px;padding:10px 14px;margin:0;text-align:left;background:none;color:inherit;font:inherit;border:0;border-radius:0;cursor:pointer}.jrow-head .project-logo{width:26px;height:26px;border-radius:7px;font-size:11px}.jrow-head .job-pulse{margin:0 4px}.jrow-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jrow-pos{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--surface-2);color:var(--muted)}.jrow-queued:first-child .jrow-pos,li:first-child>.jrow-queued .jrow-pos{background:var(--accent);color:var(--accent-text)}.jrow-chev{flex:none;width:20px;height:20px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}.jrow.open .jrow-chev{transform:rotate(180deg);stroke:var(--accent)}.jrow-body{display:flex;flex-direction:column;gap:12px;padding:12px 16px 14px;border-top:1px solid var(--border);animation:ov-enter .25s ease-out both}.jrow-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.jrow-foot .ghost{margin:0}.jrow-body .job-top{justify-content:space-between;flex-wrap:wrap}@media (max-width: 760px){.ov-hero{grid-template-columns:1fr;padding:14px}.ov-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ov-stat{padding:10px}.ov-stat-value{font-size:22px}.job-queued{flex-wrap:wrap}.job-wait{align-items:flex-start}}@media (prefers-reduced-motion: reduce){.ov *,.ov *:before,.ov *:after{animation:none!important;transition:none!important}.ov-scene .ov-box{opacity:1}.ov-scene .ov-box:nth-of-type(2){transform:translate(110px)}.ov-scene .ov-box:nth-of-type(3){transform:translate(200px)}}.hh{max-width:900px}.hh-embedded{max-width:none}.hh-embedded .hh-header{margin-bottom:12px}.hh-embedded h2{margin:0}.hh-header{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.hh-title{flex:1;min-width:0}.hh-title h1{overflow-wrap:anywhere}.hh-url{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hh-range{display:inline-flex;background:var(--surface-2);border-radius:999px;padding:3px;gap:2px}.hh-range button{background:none;color:var(--muted);border-radius:999px;padding:5px 12px;font-size:13px;margin:0}.hh-range button.active{background:var(--surface);color:var(--text);font-weight:700;box-shadow:var(--shadow)}.hh-skeleton{height:220px;opacity:.6}.hh-open{display:flex;align-items:center;gap:8px;margin:0 0 14px;padding:10px 14px;border-radius:var(--radius);background:var(--danger);color:#fff;font-weight:600}.hh-dot{width:8px;height:8px;border-radius:50%;background:currentColor;animation:job-pulse .9s ease-in-out infinite}.hh-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.hh-stat{padding:12px 14px;display:flex;flex-direction:column;gap:2px}.hh-stat strong{font-size:22px}.hh-stat strong.good{color:var(--ok)}.hh-stat strong.bad{color:var(--danger)}.hh-strip-card{padding:14px 16px 10px;margin-bottom:16px}.hh-strip{display:flex;gap:3px;height:36px}.hh-strip.dense{gap:1px}.hh-day{flex:1;min-width:2px;border-radius:3px}.hh-strip-axis{display:flex;justify-content:space-between;gap:12px;margin-top:8px;flex-wrap:wrap}.hh-legend{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.hh-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-left:6px}.hh-day-ok{background:color-mix(in srgb,var(--ok) 70%,transparent)}.hh-day-warn{background:#e0a100}.hh-day-bad{background:var(--danger)}.hh-day-none{background:var(--surface-2)}.hh-table{max-width:none}.hh-row-open td{background:var(--danger-soft)}.hh-error{word-break:break-word;max-width:360px}@media (max-width: 700px){.hh-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hh-table th:nth-child(5),.hh-table td:nth-child(5){display:none}}.health-url{display:inline-block;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.health-edit{display:flex;align-items:center;gap:6px}.health-edit input{margin:0;min-width:180px;padding:6px 8px}.health-edit .ghost{margin-left:0;padding:6px 10px}.health-ok{color:var(--ok);margin-top:2px}.health-bad{color:var(--danger);margin-top:2px;word-break:break-word}.pl-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;max-width:820px}.pl-list{margin-top:4px}.pl-item{cursor:pointer}.pl-item .project-text{flex:1}.pl-path{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none;text-align:right}.pl-open{flex:none;color:var(--accent);font-size:14px;font-weight:600}.pl-inactive{opacity:.7}.pl-cancel{margin-right:12px}@media (max-width: 640px){.pl-open{display:none}}.pd{max-width:980px}.pd-header{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}.pd-header .project-logo{width:48px;height:48px;border-radius:12px}.pd-title{min-width:0}.pd-title h1{margin:0;overflow-wrap:anywhere}.pd-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.pd-actions .ghost{margin:0}.pd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-bottom:12px}.pd-card{padding:16px 18px;min-width:0}.pd-wide{margin-bottom:12px}.pd-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}.pd-card-head h2{margin:0}.pd-dl{margin:0;display:grid;gap:4px}.pd-dl dt{font-size:12px;color:var(--muted)}.pd-dl dd{margin:0 0 8px;overflow-wrap:anywhere}.pd-form{padding:0;margin:0;max-width:none}.pd-form textarea{min-height:70px}.pd-form-actions{display:flex;align-items:center;gap:12px}.pd-health{margin:0;display:flex;align-items:center;gap:8px;min-width:0}.pd-health .health-url{max-width:100%;flex:1}.pd-card .health-edit{flex-wrap:wrap}.pd-card .health-edit input{flex:1;min-width:0}.pd-sev{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px}.pd-sev strong{font-size:18px}.pd-sev-critical,.pd-sev-high{color:var(--danger)}.pd-sev-medium{color:var(--warn)}.pd-changes{list-style:none;margin:0;padding:0;display:grid;gap:8px}.pd-changes li{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding-bottom:8px;border-bottom:1px solid var(--border)}.pd-changes li:last-child{border-bottom:0;padding-bottom:0}.pd-change-title{font-weight:600;flex:1;min-width:200px}.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--muted)}.switch input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.switch-track{position:relative;width:34px;height:20px;flex:none;border-radius:999px;background:var(--border);transition:background .15s ease}.switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px #00000040;transition:transform .15s ease}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track .switch-thumb{transform:translate(14px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.switch input:disabled+.switch-track{opacity:.6}.switch:has(input:checked){color:var(--text)}.pl-sort{margin:0 0 10px}.tasks-page{max-width:820px}.tasks-tg{padding:14px 16px;margin-bottom:18px}.tasks-tg-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tasks-tg-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--info-soft);color:var(--info);font-size:17px}.tasks-tg-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:200px}.tasks-tg-link{margin-top:12px;padding:10px 12px;border-radius:8px;background:var(--surface-2)}.tasks-tg-link p{margin:0 0 4px}.tasks-tg-link p:last-child{margin:0}.tasks-tg-open{font-weight:600}.tasks-tg-link code{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:1px 6px;-webkit-user-select:all;user-select:all;word-break:break-all}.tasks-tg .error{margin-top:10px}.tasks-waiting{animation:tasks-pulse 1.6s ease-in-out infinite}@keyframes tasks-pulse{50%{opacity:.45}}@media (prefers-reduced-motion: reduce){.tasks-waiting{animation:none}}.tasks-add{display:flex;gap:8px;margin-bottom:14px}.tasks-add input{flex:1}.tasks-empty{max-width:none}.tasks-show-done{margin:14px 0 10px}.task-list{list-style:none;margin:0;padding:0;overflow:hidden}.task{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 14px}.task+.task{border-top:1px solid var(--border)}.task>input[type=checkbox]{width:17px;height:17px;flex:none;margin:0;accent-color:var(--accent)}.task-text{flex:1;min-width:0;text-align:left;background:none;border:0;color:inherit;padding:4px 6px;white-space:pre-wrap;word-break:break-word;border-radius:6px}.task-text:hover{background:var(--surface-2)}.task-edit{flex:1;min-width:0}.task-edit input{padding:4px 6px}.task-done .task-text{text-decoration:line-through;color:var(--muted)}.task-meta{display:flex;align-items:center;gap:6px;white-space:nowrap}.task-src{color:var(--info)}.task-del{margin:0;padding:4px 9px;border-color:transparent;color:var(--muted)}.task-del:hover{color:var(--danger);border-color:var(--border)}@media (max-width: 640px){.task{flex-wrap:wrap}.task-meta{order:3;width:100%;padding-left:27px}}.usage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;max-width:820px}.usage-card{padding:18px 20px;display:flex;flex-direction:column;gap:14px}.usage-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.usage-card-head h2{margin:0}.usage-plan{font-size:12px;text-transform:capitalize;color:var(--accent);background:var(--accent-soft);padding:2px 10px;border-radius:999px}.usage-window{display:flex;flex-direction:column;gap:6px}.usage-window-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.usage-bar{height:10px;border-radius:999px;background:var(--surface-2);overflow:hidden}.usage-bar span{display:block;height:100%;border-radius:inherit;transition:width .4s ease}.usage-ok span{background:var(--ok)}.usage-warn span{background:var(--warn)}.usage-bad span{background:var(--danger)}.usage-card .warn,.usage-card .error{margin:0}.usage-foot{display:flex;flex-direction:column;gap:2px}.usage-projects{margin-top:28px;max-width:820px}.usage-projects-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.usage-month{display:inline-flex;align-items:center;gap:6px}.usage-month .ghost{padding:4px 10px}.usage-month-name{min-width:130px;text-align:center;font-weight:600}.usage-scroll{overflow-x:auto}.usage-table{min-width:560px}.usage-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.usage-quota{min-width:120px}.us-summary{display:flex;flex-wrap:wrap;gap:4px}.us-chip{font-size:12px;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);white-space:nowrap}.us-chip.extra{background:var(--accent-soft);color:var(--accent);font-weight:600}tr.us-editing>td{border-bottom-color:transparent}.us-editor-row>td{padding-top:0}.us-editor{padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);display:grid;gap:12px;animation:us-in .25s ease both}.us-editor p{margin:0}.us-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.us-group{margin:0;padding:0;border:0;display:grid;gap:6px;align-content:start}.us-group legend{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:6px;padding:0}.us-option{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;font-size:14px;transition:border-color .15s,background .15s}.us-option:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.us-option.on{border-color:var(--accent);background:var(--accent-soft)}.us-option input{flex:none;width:16px;height:16px;margin:0;padding:0;accent-color:var(--accent)}.us-option{justify-content:flex-start;text-align:left;font-weight:500}.us-icon{width:18px;text-align:center;color:var(--muted)}.us-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.us-spacer{flex:1}@keyframes us-in{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion: reduce){.us-editor{animation:none}}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group+.nav-group{margin-top:18px}.nav-group-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 10px 6px}@media (max-width: 760px){.nav-group{flex-direction:row;flex:none}.nav-group+.nav-group{margin:0 0 0 10px;padding-left:10px;border-left:1px solid var(--border)}.nav-group-title{display:none}}@font-face{font-family:Merriweather Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(./merriweather-cyrillic-ext-wght-normal-Bkm5NjZG.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Merriweather Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(./merriweather-cyrillic-wght-normal-BWxnF87P.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Merriweather Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(./merriweather-vietnamese-wght-normal-BXYScXBD.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Merriweather Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(./merriweather-latin-ext-wght-normal-BZx4mOJf.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Merriweather Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(./merriweather-latin-wght-normal-BovdrKvB.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #eef0f3;--surface: #ffffff;--border: #e1e4e9;--text: #1b1f24;--muted: #667080;--accent: #4f46e5;--accent-text: #ffffff;--accent-soft: #eef0ff;--danger: #c0352b;--danger-soft: #fdecea;--ok: #1e7f4e;--ok-soft: #e6f5ed;--warn: #9a6200;--warn-soft: #fff4dc;--info: #6d3fb5;--info-soft: #f2ebfc;--sidebar: var(--bg);--sidebar-text: #4a515c;--sidebar-active: var(--surface);--font-body: "Merriweather Variable", Merriweather, Georgia, "Times New Roman", serif;--radius: 10px;--radius-panel: 16px;--shadow: 0 1px 2px rgba(16, 24, 40, .06);--surface-2: #f0f1f6;--belt: #c9cdda;--belt-dash: #8d93a6;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:15px/1.5 var(--font-body)}h1{font-size:24px;margin:0 0 4px}h2{font-size:17px;margin:0 0 12px}a{color:var(--accent)}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.center{display:grid;place-items:center;height:100%}.right{text-align:right;white-space:nowrap}button{font:inherit;cursor:pointer;border-radius:8px;border:1px solid transparent;padding:8px 14px}button:disabled{opacity:.6;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.primary{background:var(--accent);color:var(--accent-text);font-weight:600}.ghost{background:transparent;border-color:var(--border);color:inherit;margin-left:6px}.link{background:none;border:none;padding:0;color:var(--accent);text-decoration:underline}.ghost.full{width:100%;margin:10px 0 0}.warn{color:var(--warn);background:var(--warn-soft);padding:8px 12px;border-radius:8px}.server-line{margin:16px 0 0;text-align:center;word-break:break-all}.back{background:none;color:var(--accent);padding:0;margin-bottom:12px}input,textarea{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:9px 11px;margin-top:6px}textarea{resize:vertical;min-height:140px}label{display:block;font-weight:500;margin-bottom:14px}label.check{display:flex;align-items:center;gap:8px}label.check input{width:auto;margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.form{padding:20px;margin-bottom:28px;max-width:820px}.form-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.error{color:var(--danger);background:var(--danger-soft);padding:8px 12px;border-radius:8px;margin:12px 0 0}.success{color:var(--ok);background:var(--ok-soft);padding:8px 12px;border-radius:8px;margin:12px 0 0}.empty{max-width:820px;border:1px dashed var(--border);border-radius:var(--radius);padding:28px;text-align:center;color:var(--muted)}.login-wrap{display:grid;place-items:center;min-height:100%;padding:16px}.login{width:100%;max-width:380px;padding:32px}.login h1{margin:18px 0 20px}.login .primary{width:100%;margin-top:6px}.brand{display:flex;align-items:center;gap:8px;font-weight:700;letter-spacing:.2px}.logo{color:var(--accent)}.brand-icon{width:28px;height:28px;flex:none}.layout{display:grid;grid-template-columns:232px 1fr;height:100%}.sidebar{background:var(--sidebar);color:var(--sidebar-text);display:flex;flex-direction:column;padding:20px 12px}.sidebar .brand{color:var(--text);padding:0 10px 20px}.sidebar nav{display:flex;flex-direction:column;gap:2px;flex:1}.nav-item{display:flex;align-items:center;gap:10px;background:none;color:inherit;text-align:left;padding:9px 10px}.nav-item:hover{background:color-mix(in srgb,var(--sidebar-active) 60%,transparent)}.nav-item.active{background:var(--sidebar-active);color:var(--text);font-weight:600;box-shadow:var(--shadow)}.nav-icon{width:18px;text-align:center;opacity:.8}.sidebar-footer{border-top:1px solid var(--border);padding:14px 10px 0;display:flex;flex-direction:column;gap:10px}.sidebar-footer .ghost{margin:0;border-color:var(--border);color:var(--sidebar-text);background:var(--surface)}.who{display:flex;flex-direction:column}.who strong{color:var(--text)}.content{overflow-y:auto;padding:32px 40px;margin:16px 16px 16px 0;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel);box-shadow:var(--shadow)}.page-header{margin-bottom:22px}.page-header p{margin:0}.section-title{margin-top:8px}.project-list,.change-list{list-style:none;padding:0;margin:0;display:grid;gap:10px;max-width:820px}.project-item{width:100%;display:flex;align-items:center;gap:14px;text-align:left;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow)}.project-item:hover{border-color:var(--accent)}.project-text{min-width:0}.project-item strong{display:block;font-size:16px}.project-item p{margin:2px 0 0;color:var(--muted);font-size:14px}.project-logo{flex:none;width:34px;height:34px;border-radius:9px;object-fit:cover;display:block}.project-logo.initials{display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:13px;font-weight:700;letter-spacing:.02em}.logo-cell{display:flex;align-items:center;gap:10px}.logo-upload{margin:0;font-weight:500;font-size:13px;color:var(--accent);cursor:pointer;text-decoration:underline}.logo-upload input{position:absolute;width:1px;height:1px;opacity:0}.logo-upload:focus-within{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.change{padding:14px 16px}.change-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px}.badge{display:inline-block;font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px;white-space:nowrap}.badge-pending{background:var(--accent-soft);color:var(--accent)}.badge-in-progress{background:var(--warn-soft);color:var(--warn)}.badge-done{background:var(--ok-soft);color:var(--ok)}.badge-failed,.badge-review-blocked{background:var(--danger-soft);color:var(--danger)}.badge-needs-info{background:var(--info-soft);color:var(--info)}.badge-closed{background:var(--border);color:var(--muted)}.change-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.badge-kind{background:var(--info-soft);color:var(--info)}td.actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.table{width:100%;max-width:820px;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.table th,.table td{padding:10px 14px;border-bottom:1px solid var(--border);text-align:left}.table th{font-size:13px;color:var(--muted);font-weight:600}.table tr:last-child td{border-bottom:none}.change.clickable{cursor:pointer;transition:border-color .2s}.change.clickable:hover,.change.clickable:focus-visible{border-color:var(--accent);outline:none}.fl{display:grid;gap:18px;max-width:1180px}.fl .back{justify-self:start;margin:0}.fl-ticket{padding:16px 18px;display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;justify-content:space-between}.fl-title{display:grid;gap:2px;min-width:0}.fl-title strong{font-size:17px}.fl-stats{display:flex;gap:26px;flex-wrap:wrap}.fl-stat{display:grid}.fl-stat>span:first-child{font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.fl-stat>span:last-child{font-size:18px;font-weight:650}.num{font-variant-numeric:tabular-nums}.fl-line{position:relative;padding:22px 18px 20px}.fl-stations{display:grid;grid-template-columns:.8fr 1fr 1.1fr 1.55fr .9fr;gap:14px;position:relative}.fl-belt{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.fl-belt b{position:absolute;height:6px;border-radius:3px;background:var(--belt);overflow:hidden;transition:background .6s ease}.fl-belt b:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.55;transition:opacity .4s;background:repeating-linear-gradient(90deg,var(--belt-dash) 0 10px,transparent 10px 22px)}.fl-line.running .fl-belt b:not(.ok):not(.skip):after{animation:fl-belt 1s linear infinite}.fl-belt b.ok{background:var(--ok)}.fl-belt b.ok:after{opacity:0;animation:none}.fl-belt b.skip{opacity:.4}.fl-token{position:absolute;z-index:3;width:34px;height:24px;margin-left:-17px;border-radius:7px;background:var(--accent);color:var(--accent-text);font:700 11px/24px ui-monospace,Menlo,Consolas,monospace;text-align:center;box-shadow:0 4px 14px #4f46e559;transition:left 1.1s cubic-bezier(.6,.05,.25,1),top 1.1s,background .3s}.fl-token.done{background:var(--ok)}.fl-token.review-blocked,.fl-token.failed{background:var(--danger)}.fl-token.needs-info{background:var(--info)}.fl-station{position:relative;z-index:2;display:grid;align-content:start;gap:10px;min-width:0}.fl-machine{width:60px;height:60px;margin:2px auto 0;border-radius:16px;display:grid;place-items:center;position:relative;background:var(--surface-2);border:2px solid var(--border);color:var(--muted);transition:all .35s}.fl-machine svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.fl-station[data-st=active] .fl-machine{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.fl-station[data-st=active] .fl-machine:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:20px;border:2px solid var(--accent);animation:fl-pulse 1.6s ease-out infinite}.fl-station[data-st=active] .fl-gear{animation:fl-spin 3.2s linear infinite;transform-origin:50% 50%;transform-box:fill-box}.fl-station[data-st=done] .fl-machine{border-color:var(--ok);color:var(--ok);background:var(--ok-soft)}.fl-station[data-st=blocked] .fl-machine,.fl-station[data-st=failed] .fl-machine{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.fl-station[data-st=info] .fl-machine{border-color:var(--info);color:var(--info);background:var(--info-soft)}.fl-station[data-st=skip]{opacity:.45}.fl-name{text-align:center;display:grid;gap:3px;justify-items:center}.fl-name strong{font-size:14.5px}.fl-agent{font:500 11.5px ui-monospace,Menlo,Consolas,monospace;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:1px 7px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.fl-station[data-st=active] .fl-agent{color:var(--accent)}.fl-row{display:flex;justify-content:space-between;align-items:center;gap:8px;min-width:0}.fl-row>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fl-bottom{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;align-items:start}.fl-bottom>:only-child{grid-column:1 / -1;max-width:820px}.fl-card{padding:16px 18px;display:grid;gap:12px;min-width:0}.fl-h2{font-size:13px;margin:0;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.fl-log{list-style:none;margin:0;padding:0;max-height:340px;overflow-y:auto}.fl-log li{display:grid;grid-template-columns:70px 10px 1fr;gap:10px;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--border);font-size:13.5px;animation:fl-slide .4s ease}.fl-log li:last-child{border-bottom:0}.fl-log time{font:12px ui-monospace,Menlo,Consolas,monospace;color:var(--muted);font-variant-numeric:tabular-nums}.fl-log i{width:8px;height:8px;border-radius:50%;background:var(--muted);align-self:center}.fl-log .t-ok i{background:var(--ok)}.fl-log .t-bad i{background:var(--danger)}.fl-log .t-warn i{background:var(--warn)}.fl-log .t-acc i{background:var(--accent)}.fl-log .t-info i{background:var(--info)}.fl-banner{border-radius:10px;padding:12px 14px;font-size:14px;animation:fl-slide .4s ease}.fl-banner a{color:inherit;font-weight:650}.fl-banner ul{margin:8px 0 0;padding-left:18px}.fl-banner.done{background:var(--ok-soft);color:var(--ok)}.fl-banner.bad{background:var(--danger-soft);color:var(--danger)}.fl-banner.info{background:var(--info-soft);color:var(--info)}.fl-error{white-space:pre-wrap;font-size:12px;max-height:160px;overflow:auto;margin:8px 0}.fl-summary{margin:0;white-space:pre-wrap;font-size:13.5px}.fl-detail{display:grid}.fl-detail-row{display:grid;grid-template-columns:260px 1fr;gap:14px;padding:10px 0;border-bottom:1px solid var(--border);font-size:13.5px}.fl-detail-row:last-child{border-bottom:0}.fl-tasks{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:3px}.fl-tasks-sec{display:block;margin-top:6px;font-size:12px;font-weight:650;color:var(--muted)}.fl-tasks-row{display:grid;grid-template-columns:14px auto 1fr;gap:6px;align-items:baseline}.fl-tasks-row>i{font-style:normal;text-align:center;color:var(--muted)}.fl-tasks li[data-task=done] .fl-tasks-row>i{color:var(--ok)}.fl-tasks li[data-task=current] .fl-tasks-row{font-weight:600}.fl-tasks li[data-task=current] .fl-tasks-row>i{color:var(--accent)}.fl-tasks li[data-task=pending] .fl-tasks-row>span:last-child{color:var(--muted)}.fl-detail-row[data-st=idle]{opacity:.6}.fl-detail-row[data-st=skip]{opacity:.45}.fl-detail-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;align-content:start}.fl-detail-st{font-size:11.5px;font-weight:650;color:var(--muted)}.fl-detail-row[data-st=active] .fl-detail-st{color:var(--accent)}.fl-detail-row[data-st=done] .fl-detail-st{color:var(--ok)}.fl-detail-row[data-st=failed] .fl-detail-st,.fl-detail-row[data-st=blocked] .fl-detail-st{color:var(--danger)}.fl-detail-row[data-st=info] .fl-detail-st{color:var(--info)}.fl-detail-row ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;min-width:0}.fl-detail-row li{overflow-wrap:anywhere;white-space:pre-wrap}@keyframes fl-spin{to{transform:rotate(360deg)}}@keyframes fl-pulse{0%{opacity:.7;transform:scale(.94)}to{opacity:0;transform:scale(1.18)}}@keyframes fl-belt{to{background-position:22px 0}}@keyframes fl-blink{50%{opacity:.45}}@keyframes fl-pop{0%{transform:scale(.4)}70%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes fl-slide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.fl{container-type:inline-size}@container (max-width: 860px){.fl-stations{grid-template-columns:1fr}.fl-station{grid-template-columns:60px 1fr;column-gap:14px}.fl-machine{margin:0;grid-row:span 2}.fl-name{justify-items:start;text-align:left}.fl-bottom{grid-template-columns:1fr}.fl-detail-row{grid-template-columns:1fr;gap:6px}}@media (prefers-reduced-motion: reduce){.fl *,.fl *:before,.fl *:after{animation:none!important;transition:none!important}}@media (max-width: 760px){.layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{padding:12px}.sidebar nav{flex-direction:row;overflow-x:auto}.sidebar .brand{padding-bottom:10px}.sidebar-footer{flex-direction:row;align-items:center;justify-content:space-between}.content{padding:20px 16px;margin:0 10px 10px}.grid2{grid-template-columns:1fr}}.update-banner{position:fixed;right:20px;bottom:20px;z-index:50;width:min(380px,calc(100vw - 32px));display:flex;flex-direction:column;gap:12px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);box-shadow:0 8px 24px #10182824;font-size:14px}.update-banner strong{display:block}.update-banner .muted{display:block;font-size:13px;overflow-wrap:anywhere}.update-banner progress{width:100%;margin-top:8px;accent-color:var(--accent)}.update-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.update-actions button{margin:0}.app-version{display:flex;flex-direction:column;gap:2px;font-size:12px}.app-version .link{font-size:12px;text-align:left}.docs-button{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}.change .docs-button{margin-top:8px}.ch{margin-top:32px;max-width:820px}.ch-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-bottom:12px}.ch-top .section-title{margin:0}.ch-groups{display:flex;flex-wrap:wrap;gap:6px}.ch-group{font:inherit;font-size:13px;cursor:pointer;padding:5px 11px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.ch-group:hover{border-color:var(--muted)}.ch-group[aria-pressed=true]{background:var(--text);border-color:var(--text);color:var(--surface)}.ch-group:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ch-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.ch-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-left:4px solid var(--border)}.ch-item[data-status=done]{border-left-color:var(--ok)}.ch-item[data-status=in-progress],.ch-item[data-status=pending]{border-left-color:var(--accent)}.ch-item[data-status=failed],.ch-item[data-status=review-blocked]{border-left-color:var(--danger)}.ch-item[data-status=needs-info]{border-left-color:var(--warn)}.ch-body{min-width:0;display:grid;gap:3px}.ch-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.ch-title{overflow-wrap:anywhere}.ch-meta{display:flex;flex-wrap:wrap;gap:2px 10px}.ch-project{font-weight:600;color:var(--text)}.ch-side{display:grid;justify-items:end;gap:6px}.ch-side .docs-button{margin:0}.ch-more{max-width:200px;margin-top:10px}@media (max-width: 640px){.ch-item{grid-template-columns:30px minmax(0,1fr)}.ch-side{grid-column:2;justify-items:start;display:flex;flex-wrap:wrap;align-items:center}}.docs-button .error{margin:0;padding:4px 8px}
