@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Semibold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Light.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-SemiBold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}
:root{--font-display:"Clash Display", "Space Grotesk", "IBM Plex Sans", system-ui, sans-serif;--font-body:"Satoshi", "IBM Plex Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", monospace;--bg-base:#fafaf8;--bg-subtle:#f4f4f1;--surface:#fff;--surface-elevated:#fff;--border:#e6e5e0;--border-strong:#d4d2cb;--text-primary:#1a1a17;--text-secondary:#5c5c56;--text-dim:#8e8d85;--accent:#e8500e;--accent-hover:#cf4408;--accent-subtle:#e8500e14;--focus-ring:#e8500e66;--success:#1f8a4c;--success-subtle:#1f8a4c1a;--warning:#b5790a;--warning-subtle:#b5790a1a;--error:#c2381f;--error-subtle:#c2381f1a;--neutral:#6b7280;--neutral-subtle:#6b72801a;--info:#2563b5;--info-subtle:#2563b51a;--score-poor:#c2381f;--score-weak:#b5790a;--score-good:#5b8a1f;--score-excellent:#1f8a4c;--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-full:9999px;--sp-2:2px;--sp-4:4px;--sp-8:8px;--sp-12:12px;--sp-16:16px;--sp-20:20px;--sp-24:24px;--sp-32:32px;--sp-40:40px;--sp-48:48px;--sp-64:64px;--sp-80:80px;--sp-96:96px;--shadow-xs:0 1px 1px #1a1a170a;--shadow-sm:0 1px 0 inset #fff9, 0 1px 2px #1a1a170f, 0 2px 4px #1a1a170a;--shadow-md:0 1px 0 inset #ffffffb3, 0 4px 8px #1a1a1714, 0 2px 4px #1a1a170d;--shadow-lg:0 1px 0 inset #fffc, 0 12px 24px #1a1a171f, 0 4px 8px #1a1a170f;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-hover:.14s;--dur-press:.1s;--dur-pop:.16s;--dur-drawer:.24s;--dur-route:.2s}[data-theme=dark]{--bg-base:#0e0f0d;--bg-subtle:#161714;--surface:#1a1b18;--surface-elevated:#222320;--border:#2a2b27;--border-strong:#3a3b36;--text-primary:#f2f1ec;--text-secondary:#a6a59d;--text-dim:#6e6d66;--accent:#ff6a2c;--accent-hover:#ff824d;--accent-subtle:#ff6a2c1f;--focus-ring:#ff6a2c73;--success:#3fbf73;--success-subtle:#3fbf7324;--warning:#e0a93b;--warning-subtle:#e0a93b24;--error:#f26b52;--error-subtle:#f26b5224;--neutral:#8b8d88;--neutral-subtle:#8b8d8824;--info:#5c9be0;--info-subtle:#5c9be024;--score-poor:#f26b52;--score-weak:#e0a93b;--score-good:#9fcf5c;--score-excellent:#3fbf73;--shadow-xs:0 0 0 1px #ffffff0a;--shadow-sm:0 0 0 1px #ffffff0d, 0 1px 2px #0006;--shadow-md:0 0 0 1px #ffffff0f, 0 1px 0 inset #ffffff0a, 0 8px 16px #00000080;--shadow-lg:0 0 0 1px #ffffff12, 0 1px 0 inset #ffffff0d, 0 16px 32px #0009}.t-score-hero{font-family:var(--font-display);letter-spacing:-.03em;font-size:64px;font-weight:600;line-height:1}.t-display{font-family:var(--font-display);letter-spacing:-.025em;font-size:44px;font-weight:600;line-height:1.08}.t-h1{font-family:var(--font-display);letter-spacing:-.02em;font-size:32px;font-weight:600;line-height:1.12}.t-h2{font-family:var(--font-display);letter-spacing:-.015em;font-size:24px;font-weight:600;line-height:1.18}.t-h3{font-family:var(--font-display);letter-spacing:-.01em;font-size:19px;font-weight:600;line-height:1.25}.t-metric-num{font-family:var(--font-display);letter-spacing:-.01em;font-feature-settings:"tnum";font-size:28px;font-weight:600;line-height:1.1}.t-body-lg{font-family:var(--font-body);font-size:16px;font-weight:400;line-height:1.6}.t-body{font-family:var(--font-body);font-size:14px;font-weight:400;line-height:1.55}.t-body-medium{font-family:var(--font-body);font-size:14px;font-weight:500;line-height:1.55}.t-small{font-family:var(--font-body);font-size:13px;font-weight:400;line-height:1.45}.t-caption{font-family:var(--font-body);letter-spacing:.01em;font-size:12px;font-weight:500;line-height:1.4}.t-label-caps{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600;line-height:1.3}.t-mono-sm{font-family:var(--font-mono);font-size:13px;font-weight:400;line-height:1.5}.t-mono-xs{font-family:var(--font-mono);font-size:12px;font-weight:400;line-height:1.45}.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fg-1{color:var(--text-primary)}.fg-2{color:var(--text-secondary)}.fg-dim{color:var(--text-dim)}.fg-accent{color:var(--accent)}
*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font-body);background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px}button{font-family:inherit}::selection{background:var(--accent-subtle);color:var(--accent)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid var(--bg-base);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ficon{display:inline-flex}.th-rz-host{position:relative}.th-rz{cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:2;width:9px;position:absolute;top:0;bottom:0;right:-4px}.th-rz:hover,.th-rz:active{background:linear-gradient(to right, transparent 3px, var(--border-strong) 3px, var(--border-strong) 5px, transparent 5px)}.ficon svg{width:100%;height:100%;display:block}.dim{color:var(--text-dim)}.mono{font-family:var(--font-mono);font-size:13px}@keyframes ffpulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes ffrow{0%{background:var(--accent-subtle)}to{background:0 0}}@keyframes ffskel{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}@keyframes ffspin{to{transform:rotate(360deg)}}@keyframes ffdrawer{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes fffade{0%{opacity:0}to{opacity:1}}@keyframes ffrise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.page-head>div:first-child{flex:auto;min-width:0}.page-kicker{font:600 11px/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);align-items:center;gap:7px;margin-bottom:12px;display:inline-flex}.page-kicker:before{content:"";background:var(--accent);border-radius:2px;width:18px;height:2px}.page-title{font:600 34px/1.05 var(--font-display);letter-spacing:-.025em;text-wrap:balance}.page-title.hero{letter-spacing:-.03em;text-wrap:nowrap;white-space:nowrap;text-overflow:ellipsis;font-size:42px;line-height:1.1;overflow:hidden}.page-sub{color:var(--text-secondary);margin-top:10px;font-size:15px}.section-gap{flex-direction:column;gap:20px;display:flex}.head-actions{align-items:center;gap:10px;display:flex}.hero-band{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);flex:none;grid-template-columns:360px 1fr;display:grid;overflow:hidden}.hero-metric{color:#f2f1ec;background:#15160f;flex-direction:column;padding:26px 28px 24px;display:flex;position:relative;overflow:hidden}.hero-metric:after{content:"";border-radius:var(--r-full);pointer-events:none;border:1.5px solid #ffffff0d;width:200px;height:200px;position:absolute;bottom:-60px;right:-30px}.hero-metric .hm-label{font:600 11px var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:#f2f1ec8c}.hero-metric .hm-num{font:600 96px/.9 var(--font-display);letter-spacing:-.045em;font-feature-settings:"tnum";margin:10px 0 2px}.hero-metric .hm-zone{font:600 14px var(--font-body);margin-bottom:18px}.hero-metric .hm-ribbon{margin-top:auto;padding:6px 0;position:relative}.hero-metric .hm-bands{border-radius:var(--r-full);height:7px;display:flex;overflow:hidden}.hero-metric .hm-bands i{height:100%}.hero-metric .hm-bands .zp{background:#f26b5273;flex:0 0 40%}.hero-metric .hm-bands .zw{background:#e0a93b73;flex:0 0 20%}.hero-metric .hm-bands .zg{background:#9fcf5c80;flex:0 0 20%}.hero-metric .hm-bands .ze{background:#3fbf738c;flex:0 0 20%}.hero-metric .hm-knob{border-radius:var(--r-full);width:4px;height:17px;position:absolute;top:1px;transform:translate(-2px);box-shadow:0 0 0 3px #15160f}.hero-metric .hm-delta{font:500 13px var(--font-body);color:#f2f1ecbf;align-items:center;gap:6px;margin-top:14px;display:inline-flex}.hero-metric .hm-scale-tags{font:500 10px var(--font-mono);color:#f2f1ec66;justify-content:space-between;margin-top:6px;display:flex}.hero-trend{flex-direction:column;padding:20px 24px;display:flex}.hero-trend .ht-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.hero-trend .ht-title{font:600 14px var(--font-body);color:var(--text-secondary)}.score-detail{color:#f2f1ec;border-radius:var(--r-md);background:#15160f;flex:none;grid-template-columns:210px 1fr;display:grid;overflow:hidden}.score-detail .sd-metric{border-right:1px solid #ffffff14;flex-direction:column;padding:24px 26px;display:flex;position:relative;overflow:hidden}.score-detail .sd-metric:after{content:"";border-radius:var(--r-full);pointer-events:none;border:1.5px solid #ffffff0d;width:150px;height:150px;position:absolute;top:-40px;right:-40px}.score-detail .sd-label{font:600 11px var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:#f2f1ec8c}.score-detail .sd-num{font:600 84px/.9 var(--font-display);letter-spacing:-.045em;font-feature-settings:"tnum";margin:8px 0 2px}.score-detail .sd-zone{font:600 13px var(--font-body);margin-bottom:16px}.score-detail .sd-ribbon{margin-top:auto;padding:6px 0;position:relative}.score-detail .sd-bands{border-radius:var(--r-full);height:7px;display:flex;overflow:hidden}.score-detail .sd-bands i{height:100%}.score-detail .sd-bands .zp{background:#f26b5273;flex:0 0 40%}.score-detail .sd-bands .zw{background:#e0a93b73;flex:0 0 20%}.score-detail .sd-bands .zg{background:#9fcf5c80;flex:0 0 20%}.score-detail .sd-bands .ze{background:#3fbf738c;flex:0 0 20%}.score-detail .sd-knob{border-radius:var(--r-full);width:4px;height:17px;position:absolute;top:1px;transform:translate(-2px);box-shadow:0 0 0 3px #15160f}.score-detail .sd-delta{font:500 12px var(--font-body);color:#f2f1ecbf;margin-top:12px}.score-detail .sd-breakdown{flex-direction:column;justify-content:center;gap:10px;padding:22px 26px;display:flex}.score-detail .sd-crit{grid-template-columns:104px 1fr 26px;align-items:center;gap:12px;display:grid}.score-detail .sd-crit .n{color:#f2f1ecb3;font-size:13px}.score-detail .sd-crit .track{border-radius:var(--r-full);background:#ffffff1a;height:5px;overflow:hidden}.score-detail .sd-crit .track>div{background:var(--accent);border-radius:var(--r-full);height:100%}.score-detail .sd-crit .v{font:500 12px var(--font-mono);text-align:right;color:#f2f1ec}.settings-layout{grid-template-columns:230px 1fr;align-items:start;gap:32px;display:grid}.settings-nav{flex-direction:column;gap:2px;display:flex;position:sticky;top:4px}.sn-group{font:600 11px var(--font-body);letter-spacing:.09em;text-transform:uppercase;color:var(--text-dim);padding:16px 10px 6px}.sn-group:first-child{padding-top:0}.sn-item{border-radius:var(--r-sm);color:var(--text-secondary);cursor:pointer;text-align:left;width:100%;transition:background var(--dur-hover), color var(--dur-hover);background:0 0;border:none;align-items:center;gap:10px;padding:9px 11px;font-size:14px;font-weight:500;display:flex}.sn-item:hover{background:var(--bg-subtle);color:var(--text-primary)}.sn-item.active{background:var(--accent-subtle);color:var(--accent)}.sn-item.active .ficon{color:var(--accent)}.sn-item .ficon{color:var(--text-dim)}.sn-item .sn-flag{margin-left:auto}.settings-section{flex-direction:column;gap:20px;max-width:640px;display:flex}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);overflow:hidden}.form-card-head{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:16px 20px;display:flex}.form-card-head .fc-title{font:600 16px var(--font-display);letter-spacing:-.01em}.form-card-head .fc-sub{color:var(--text-dim);margin-top:2px;font-size:12px}.form-card-head .fc-actions{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.form-card-body{flex-direction:column;gap:16px;padding:20px;display:flex}.field-row{gap:16px;display:flex}.field-row>.field{flex:1;min-width:0}.conn-card{align-items:center;gap:14px;padding:18px 20px;display:flex}.conn-logo{border-radius:var(--r-sm);background:var(--bg-subtle);border:1px solid var(--border);width:42px;height:42px;color:var(--text-secondary);flex:none;place-items:center;display:grid}.conn-meta{flex:1;min-width:0}.conn-name{align-items:center;gap:9px;font-weight:600;display:flex}.conn-sub{font:400 12px var(--font-mono);color:var(--text-dim);margin-top:3px}.conn-state{font:600 12px var(--font-body);align-items:center;gap:6px;display:inline-flex}.conn-state .dot{border-radius:var(--r-full);width:8px;height:8px}.conn-state.ok{color:var(--success)}.conn-state.ok .dot{background:var(--success)}.conn-state.off{color:var(--text-dim)}.conn-state.off .dot{background:var(--neutral)}.conn-state.err{color:var(--error)}.conn-state.err .dot{background:var(--error)}.danger-zone{border:1px solid var(--error-subtle);border-radius:var(--r-md);overflow:hidden}.danger-zone .dz-head{border-bottom:1px solid var(--error-subtle);font:600 13px var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--error);background:var(--error-subtle);padding:14px 20px}.danger-zone .dz-row{justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.danger-zone .dz-row .dz-text{color:var(--text-secondary);font-size:13px}.save-bar{background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);animation:ffrise var(--dur-pop) var(--ease-out);align-items:center;gap:14px;margin-top:4px;padding:14px 20px;display:flex;position:sticky;bottom:0}.save-bar .sb-text{color:var(--text-secondary);font-size:13px}.save-bar .sb-actions{gap:10px;margin-left:auto;display:flex}.stat-strip{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);display:flex;overflow:hidden}.stat-strip .stat{border-right:1px solid var(--border);flex-direction:column;flex:1;gap:7px;padding:16px 22px;display:flex}.stat-strip .stat:last-child{border-right:none}.stat-strip .stat .l{font:600 11px var(--font-body);letter-spacing:.09em;text-transform:uppercase;color:var(--text-dim)}.stat-strip .stat .v{font:600 26px/1 var(--font-display);letter-spacing:-.015em;font-feature-settings:"tnum";color:var(--text-primary)}.stat-strip .stat .v .u{color:var(--text-dim);font-size:14px;font-weight:500}.stat-strip .stat .d{font:500 12px var(--font-body);align-items:center;gap:5px;display:inline-flex}.btn{border-radius:var(--r-sm);cursor:pointer;transition:background var(--dur-hover) var(--ease-out), border-color var(--dur-hover), transform var(--dur-press), box-shadow var(--dur-hover);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;font-weight:600;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);outline:none}.btn-md{padding:9px 15px;font-size:13px}.btn-sm{padding:6px 11px;font-size:12px}.btn-lg{padding:12px 20px;font-size:14px}.btn-primary{background:var(--accent);color:#fff;box-shadow:inset 0 1px 0 #ffffff29, var(--shadow-xs)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-ghost{background:var(--surface);color:var(--text-primary);border-color:var(--border);box-shadow:var(--shadow-xs)}.btn-ghost:hover:not(:disabled){background:var(--bg-subtle);border-color:var(--border-strong)}.btn-subtle{background:var(--accent-subtle);color:var(--accent)}.btn-subtle:hover:not(:disabled){filter:brightness(.97)}.btn-danger{background:var(--surface);color:var(--error);border-color:var(--border)}.btn-danger:hover:not(:disabled){background:var(--error-subtle);border-color:var(--error)}.btn-quiet{color:var(--text-secondary);background:0 0}.btn-quiet:hover:not(:disabled){background:var(--bg-subtle);color:var(--text-primary)}.icon-btn{border-radius:var(--r-sm);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;transition:background var(--dur-hover), color var(--dur-hover);background:0 0;border:1px solid #0000;place-items:center;display:grid}.icon-btn:hover{background:var(--bg-subtle);color:var(--text-primary)}.icon-btn:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);outline:none}.badge{font:600 12px var(--font-body);border-radius:var(--r-xs);white-space:nowrap;align-items:center;padding:3px 9px;display:inline-flex}.badge-success{background:var(--success-subtle);color:var(--success)}.badge-warning{background:var(--warning-subtle);color:var(--warning)}.badge-error{background:var(--error-subtle);color:var(--error)}.badge-neutral{background:var(--neutral-subtle);color:var(--neutral)}.badge-info{background:var(--info-subtle);color:var(--info)}.role-badge{font:600 11px var(--font-body);letter-spacing:.03em;border-radius:var(--r-xs);border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;padding:2px 8px}.tag{font:600 11px var(--font-body);border-radius:var(--r-xs);padding:3px 9px;display:inline-flex}.tag-success{background:var(--success-subtle);color:var(--success)}.tag-neutral{background:var(--neutral-subtle);color:var(--neutral)}.tag-info{background:var(--info-subtle);color:var(--info)}.deal{font:500 12px var(--font-body);border-radius:var(--r-xs);white-space:nowrap;align-items:center;padding:3px 9px;display:inline-flex}.deal-won{background:var(--success-subtle);color:var(--success)}.deal-active{background:var(--info-subtle);color:var(--info)}.deal-open{background:var(--warning-subtle);color:var(--warning)}.deal-lost{background:var(--neutral-subtle);color:var(--neutral)}.score-badge{font-family:var(--font-display);font-feature-settings:"tnum";align-items:center;gap:7px;font-size:14px;font-weight:600;display:inline-flex}.score-dot{border-radius:var(--r-full);flex:none;width:8px;height:8px}.pipe{color:var(--text-secondary);align-items:center;gap:7px;font-size:12px;display:inline-flex}.pipe-step{align-items:center;gap:5px;display:inline-flex}.pipe-dot{border-radius:var(--r-full);flex:none;width:7px;height:7px}.pipe-arrow{color:var(--text-dim)}.pipe-label{white-space:nowrap}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(176px,1fr));gap:14px;display:grid}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:18px 20px;display:flex}.kpi-label{font:600 11px var(--font-body);letter-spacing:.09em;text-transform:uppercase;color:var(--text-dim)}.kpi-value{font:600 30px/1 var(--font-display);letter-spacing:-.015em;color:var(--text-primary);font-feature-settings:"tnum"}.kpi-sub{color:var(--text-dim);font-size:15px;font-weight:500}.kpi-delta{font:500 12px var(--font-body);align-items:center;gap:5px;display:inline-flex}.kpi-delta:before{content:"";border-left:3.5px solid #0000;border-right:3.5px solid #0000;width:0;height:0}.delta-up{color:var(--success)}.delta-up:before{border-bottom:5px solid}.delta-down{color:var(--error)}.delta-down:before{border-top:5px solid}.delta-neutral{color:var(--text-dim)}.delta-neutral:before{display:none}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.panel-title{font:600 19px var(--font-display);letter-spacing:-.01em}.panel-sub{color:var(--text-dim);text-align:right;font-size:13px;font-weight:500}.panel-body{padding:20px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.search{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-xs);min-width:240px;color:var(--text-dim);transition:border-color var(--dur-hover), box-shadow var(--dur-hover);align-items:center;gap:8px;padding:8px 11px;display:flex}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);color:var(--accent)}.search input{font:400 14px var(--font-body);color:var(--text-primary);background:0 0;border:none;outline:none;width:100%}.select{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-xs);cursor:pointer;color:var(--text-secondary);transition:border-color var(--dur-hover), background var(--dur-hover);-webkit-user-select:none;user-select:none;align-items:center;gap:7px;padding:8px 11px;font-weight:500;display:inline-flex}.select:hover{border-color:var(--border-strong)}.select.on{color:var(--accent);border-color:var(--accent);background:var(--accent-subtle)}.toolbar-count{color:var(--text-dim);margin-left:auto;font-size:13px}.toolbar-count b{color:var(--text-primary);font-weight:600}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);overflow:hidden}.ff-table{border-collapse:collapse;width:100%}.ff-table thead th{text-align:left;font:600 11px var(--font-body);letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim);border-bottom:1px solid var(--border);background:var(--bg-subtle);white-space:nowrap;padding:12px 14px}.ff-table tbody td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 14px}.ff-table tbody tr:last-child td{border-bottom:none}.ff-table tbody tr.clickable{cursor:pointer;transition:background var(--dur-hover)}.ff-table tbody tr.clickable:hover{background:var(--bg-subtle)}.cell-name{white-space:nowrap;font-weight:500}.row-chev{color:var(--text-dim)}.uname{align-items:center;gap:10px;display:flex}.uinitials{border-radius:var(--r-full);background:var(--bg-subtle);border:1px solid var(--border);width:30px;height:30px;font:600 12px var(--font-body);color:var(--text-secondary);flex:none;place-items:center;display:grid}.avatar{border-radius:var(--r-full);background:var(--accent);color:#fff;width:30px;height:30px;font:600 13px var(--font-body);flex:none;place-items:center;display:grid}.state-block{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:64px 20px;display:flex}.state-icon{border-radius:var(--r-full);background:var(--bg-subtle);border:1px solid var(--border);width:56px;height:56px;color:var(--text-dim);box-shadow:0 0 0 6px color-mix(in oklab, var(--bg-subtle) 60%, transparent);place-items:center;display:grid}.state-icon.accent{background:var(--accent-subtle);color:var(--accent);box-shadow:0 0 0 6px var(--accent-subtle);border-color:#0000}.state-icon.error{background:var(--error-subtle);color:var(--error);box-shadow:0 0 0 6px var(--error-subtle);border-color:#0000}.state-title{font:600 17px var(--font-display);letter-spacing:-.01em;margin-top:2px}.state-hint{color:var(--text-dim);max-width:380px;line-height:1.55}.skeleton{background:linear-gradient(90deg, var(--bg-subtle), var(--border), var(--bg-subtle));border-radius:6px;animation:1.4s ease-in-out infinite ffskel}.form-grid{flex-direction:column;gap:18px;max-width:560px;display:flex}.field{flex-direction:column;gap:7px;display:flex}.field label{font:500 13px var(--font-body);color:var(--text-secondary)}.field .hint{color:var(--text-dim);font-size:12px}.field .errtext{color:var(--error);font-size:12px}.field-head{justify-content:space-between;align-items:center;gap:var(--sp-12);display:flex}.field-foot{align-self:flex-end}.form-actions{justify-content:flex-end;gap:10px;display:flex}.form-error{color:var(--error);font-size:12px}.input{font:400 14px var(--font-body);color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-xs);transition:border-color var(--dur-hover), box-shadow var(--dur-hover);outline:none;padding:9px 12px}.input:hover{border-color:var(--border-strong)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.input.err{border-color:var(--error)}.input::placeholder{color:var(--text-dim)}textarea.input{resize:vertical;min-height:56px;line-height:1.45;font-family:var(--font-body)}textarea.input-code{font-family:var(--font-mono);min-height:280px;font-size:13px;line-height:1.55}.select-input{font:400 14px var(--font-body);color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-xs);cursor:pointer;appearance:none;-webkit-user-select:none;user-select:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238E8D85' stroke-width='1.75'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;outline:none;padding:9px 32px 9px 12px}.select-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.secret-row{align-items:center;gap:10px;display:flex}.toggle{border-radius:var(--r-full);background:var(--border-strong);cursor:pointer;width:38px;height:22px;transition:background var(--dur-hover);flex:none;position:relative}.toggle.on{background:var(--accent)}.toggle:after{content:"";border-radius:var(--r-full);width:18px;height:18px;transition:transform var(--dur-hover) var(--ease-out);box-shadow:var(--shadow-xs);background:#fff;position:absolute;top:2px;left:2px}.toggle.on:after{transform:translate(16px)}.switch-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.switch-row:last-child{border-bottom:none}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:24px;display:flex}.tab{font:600 14px var(--font-body);cursor:pointer;color:var(--text-secondary);transition:color var(--dur-hover);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.modal-scrim{z-index:70;animation:fffade var(--dur-pop) var(--ease-out);background:#0a0b096b;justify-content:center;align-items:flex-start;padding:64px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--r-lg);width:min(520px,100%);box-shadow:var(--shadow-lg);animation:ffrise var(--dur-pop) var(--ease-out)}.modal-head{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:20px 24px;display:flex}.modal-title{font:600 19px var(--font-display);letter-spacing:-.01em}.modal-desc{color:var(--text-secondary);margin-top:3px;font-size:13px}.modal-body{flex-direction:column;gap:16px;padding:22px 24px;display:flex}.modal-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.modal-x{margin-left:auto}.toast-wrap{z-index:90;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--surface-elevated);border:1px solid var(--border);border-left:3px solid var(--success);border-radius:var(--r-sm);box-shadow:var(--shadow-md);color:var(--text-primary);min-width:260px;animation:ffrise var(--dur-pop) var(--ease-out);align-items:center;gap:10px;padding:11px 16px;font-size:13px;display:flex}.toast.info{border-left-color:var(--info)}.toast .ficon{color:var(--success)}.menu{background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);z-index:30;min-width:180px;animation:fffade var(--dur-pop) var(--ease-out);padding:5px;position:absolute;top:calc(100% + 4px);right:0}.menu-item{border-radius:var(--r-sm);cursor:pointer;color:var(--text-primary);white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:9px;padding:8px 10px;font-size:13px;display:flex}.menu-item:hover{background:var(--bg-subtle)}.menu-item.danger{color:var(--error)}.cell-actions{position:relative}.score-scale{padding:7px 0;position:relative}.score-bands{border-radius:var(--r-full);height:8px;display:flex;overflow:hidden}.score-bands i{height:100%}.score-bands .zp{background:color-mix(in oklab, var(--score-poor) 32%, transparent);flex:0 0 40%}.score-bands .zw{background:color-mix(in oklab, var(--score-weak) 32%, transparent);flex:0 0 20%}.score-bands .zg{background:color-mix(in oklab, var(--score-good) 32%, transparent);flex:0 0 20%}.score-bands .ze{background:color-mix(in oklab, var(--score-excellent) 38%, transparent);flex:0 0 20%}.score-knob{border-radius:var(--r-full);width:4px;height:18px;box-shadow:0 0 0 3px var(--surface), var(--shadow-xs);position:absolute;top:2px;transform:translate(-2px)}.ff-dr{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);width:min(296px,100vw - 24px);max-height:calc(100vh - 24px);box-shadow:var(--shadow-lg);z-index:60;animation:ffrise var(--dur-pop) var(--ease-out);padding:12px;overflow-y:auto}.ff-dr-label{font:600 10px var(--font-body);letter-spacing:.09em;text-transform:uppercase;color:var(--text-dim);margin:0 2px 8px}.ff-dr-grid{gap:4px;display:grid}.ff-dr-grid.c3{grid-template-columns:repeat(3,1fr)}.ff-dr-grid.c4{grid-template-columns:repeat(4,1fr)}.ff-dr-cell{border-radius:var(--r-sm);color:var(--text-secondary);font:500 12px var(--font-body);cursor:pointer;transition:background var(--dur-hover), color var(--dur-hover);background:0 0;border:1px solid #0000;padding:7px 4px}.ff-dr-cell:hover{background:var(--bg-subtle);color:var(--text-primary)}.ff-dr-div{background:var(--border);height:1px;margin:12px 0}.ff-dr-nav{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.ff-dr-nav .icon-btn{width:28px;height:28px}.ff-dr-nav b{font:600 13px var(--font-body);color:var(--text-primary);font-variant-numeric:tabular-nums}.ff-dr-io{gap:8px;display:flex}.ff-dr-io label{min-width:0;font:600 10px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);flex-direction:column;flex:1;gap:5px;display:flex}.ff-dr-io input{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);width:100%;min-width:0;max-width:100%;color:var(--text-primary);font:500 13px var(--font-body);font-variant-numeric:tabular-nums;padding:7px 9px}.ff-dr-io input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.ff-dr-foot{gap:8px;margin-top:12px;display:flex}.export-check{font:400 14px var(--font-body);color:var(--text-primary);cursor:pointer;align-items:center;gap:8px;display:flex}.export-check input{accent-color:var(--accent);cursor:pointer;width:15px;height:15px;margin:0}.export-check-group{flex-direction:column;gap:8px;display:flex}.export-preview{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);font:400 13px var(--font-body);color:var(--text-secondary);align-items:center;gap:8px;padding:12px 14px;display:flex}.export-preview b{font-variant-numeric:tabular-nums;color:var(--text-primary)}.export-preview .muted{color:var(--text-dim)}.export-preview.warn{border-color:var(--warning);background:var(--warning-subtle);color:var(--text-primary)}.export-preview.warn>svg{color:var(--warning);flex-shrink:0}.export-preview.err{border-color:var(--error);background:var(--error-subtle);color:var(--text-primary)}.export-preview.err>svg{color:var(--error);flex-shrink:0}
:root{--report-max:1440px;--report-reading-max:1180px;--report-control-h:48px;--report-control-h-mobile:56px;--report-sticky-offset:0px;--report-table-head-h:40px;--report-row-h:44px;--report-row-h-comfortable:52px;--report-touch-min:44px;--report-drawer-w:600px;--report-mobile-gutter:14px;--report-table-cell-x:14px;--report-table-cell-y:10px;--report-muted-text:var(--text-secondary);--report-link-text:var(--accent-hover);--report-focus-color:var(--accent-hover)}[data-theme=dark]{--report-link-text:var(--accent);--report-focus-color:var(--accent)}.report-workspace{width:min(100%, var(--report-max));flex-direction:column;gap:24px;min-width:0;margin-inline:auto;display:flex;container:report-workspace/inline-size}.report-workspace--reading{width:min(100%, var(--report-reading-max))}.report-page-header{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.report-page-header__copy{min-width:0;max-width:760px}.report-page-header__kicker{color:var(--report-muted-text);font:600 11px/1.2 var(--font-body);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px}.report-page-header__title{color:var(--text-primary);font:600 34px/1.05 var(--font-display);letter-spacing:-.025em;margin:0}.report-page-header__description{color:var(--text-secondary);font:400 14px/1.55 var(--font-body);margin-top:8px}.report-page-header__meta{color:var(--report-muted-text);font:500 12px/1.4 var(--font-body);margin-top:8px}.report-page-header__actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.report-scope-bar{z-index:15;background:var(--bg-base);border-bottom:1px solid var(--border);min-width:0;position:relative}.report-scope-bar--sticky{top:var(--report-sticky-offset);box-shadow:var(--shadow-xs);position:sticky}.report-scope-bar__row{min-height:var(--report-control-h);align-items:center;gap:8px;padding-block:4px;display:flex}.report-scope-bar__controls,.report-scope-bar__actions{align-items:center;gap:8px;min-width:0;display:flex}.report-scope-bar__actions{margin-left:auto}.report-scope-bar__control,.report-scope-bar__filter{min-width:0}.report-scope-bar__filter{align-items:center;gap:4px;display:flex;position:relative}.report-scope-bar__filter-count{border-radius:var(--r-full);background:var(--accent-subtle);min-width:22px;height:22px;color:var(--report-link-text);font:650 11px/1 var(--font-body);place-items:center;padding-inline:6px;display:inline-grid}.report-scope-bar__freshness{color:var(--report-muted-text);font:500 12px/1.35 var(--font-body);white-space:nowrap}.report-scope-bar__applied{padding-bottom:8px}.applied-filters{align-items:center;gap:8px;min-width:0;display:flex}.applied-filters__scroll{overscroll-behavior-inline:contain;scrollbar-width:thin;align-items:center;gap:6px;min-width:0;display:flex;overflow-x:auto}.applied-filter,.applied-filters__reset,.data-view__retry-link{font:inherit;cursor:pointer;border:0}.applied-filter{min-height:var(--report-touch-min);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text-primary);font:500 12px/1.2 var(--font-body);transition:border-color var(--dur-hover) var(--ease-out), background var(--dur-hover) var(--ease-out);flex:none;align-items:center;gap:5px;padding:7px 9px;display:inline-flex}.applied-filter:hover{border-color:var(--border-strong);background:var(--bg-subtle)}.applied-filter__label{color:var(--report-muted-text)}.applied-filter__value{color:var(--text-primary)}.applied-filters__reset,.data-view__retry-link{min-height:var(--report-touch-min);color:var(--report-link-text);font:600 12px/1.2 var(--font-body);background:0 0;flex:none;padding-inline:8px}.report-view-tabs{overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;scrollbar-width:thin;align-items:stretch;gap:4px;min-width:0;display:flex;overflow-x:auto}.report-view-tab{min-height:var(--report-touch-min);color:var(--text-secondary);font:600 13px/1.2 var(--font-body);cursor:pointer;scroll-snap-align:start;transition:color var(--dur-hover) var(--ease-out), border-color var(--dur-hover) var(--ease-out), background var(--dur-hover) var(--ease-out);background:0 0;border:0;border-bottom:2px solid #0000;flex:none;justify-content:center;align-items:center;gap:7px;padding:8px 12px;display:inline-flex;position:relative}.report-view-tab:hover:not(:disabled){background:var(--bg-subtle);color:var(--text-primary)}.report-view-tab[aria-selected=true]{border-bottom-color:var(--accent);color:var(--text-primary)}.report-view-tab:disabled{color:var(--report-muted-text);opacity:.65;cursor:not-allowed}.report-view-tab__count{border-radius:var(--r-full);background:var(--bg-subtle);min-width:22px;color:var(--report-muted-text);padding:3px 6px;font-size:11px}.report-view-tab[aria-selected=true] .report-view-tab__count{background:var(--accent-subtle);color:var(--report-link-text)}.data-view{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);overflow:clip}.data-view__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;min-height:64px;padding:16px 20px;display:flex}.data-view__heading{min-width:0}.data-view__title{color:var(--text-primary);font:600 19px/1.2 var(--font-display);letter-spacing:-.01em;margin:0}.data-view__description,.data-view__scope{color:var(--text-secondary);font:400 13px/1.45 var(--font-body);margin-top:4px}.data-view__scope{color:var(--report-muted-text);font-size:12px}.data-view__count{color:var(--text-secondary);font:600 12px/1.35 var(--font-body);white-space:nowrap}.data-view__toolbar{min-height:var(--report-control-h);border-bottom:1px solid var(--border);background:var(--bg-subtle);align-items:center;gap:8px;padding:6px 14px;display:flex}.data-view__refresh,.data-view__stale{border-bottom:1px solid var(--border);background:var(--info-subtle);color:var(--text-secondary);font:500 12px/1.35 var(--font-body);align-items:center;gap:8px;padding:8px 14px;display:flex}.data-view__refresh-icon{animation:report-spin .9s var(--ease-in-out) infinite}.data-view__stale{background:var(--warning-subtle)}.data-view__retry-link{min-height:var(--report-touch-min);margin-left:auto}.data-view__body{min-width:0}.data-view__state,.data-view .state-block{justify-content:center;min-height:220px}.data-view__skeleton{background:var(--border);gap:1px;width:min(760px,100vw - 80px);display:grid}.data-view__pagination{border-top:1px solid var(--border)}.cursor-pager{justify-content:flex-end;align-items:center;gap:8px;min-height:58px;padding:7px 14px;display:flex}.cursor-pager .btn{min-height:var(--report-touch-min)}.cursor-pager__range{color:var(--text-secondary);font:500 12px/1.35 var(--font-body);text-align:center;margin:0}.cursor-pager__compact{display:none}.cursor-pager__size{color:var(--report-muted-text);font:500 12px/1.2 var(--font-body);align-items:center;gap:7px;display:flex}.report-refresh-status{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-subtle);width:fit-content;color:var(--text-secondary);margin:0 0 12px;padding:7px 10px;font-size:13px;line-height:1.35}.report-data-refreshing{opacity:.68;pointer-events:none;transition:opacity var(--dur-hover) var(--ease-out)}.cursor-pager__size .select{min-height:var(--report-touch-min);font:500 12px/1 var(--font-body);padding-inline:8px}.chart-panel__visual{min-height:220px;padding:16px 20px}.chart-panel__summary{color:var(--text-secondary);font:400 13px/1.5 var(--font-body);padding:0 20px 16px}.chart-panel__evidence{border-top:1px solid var(--border);padding:12px 20px}.data-view .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.report-page-header :where(a,button,input,select,textarea):focus-visible,.report-scope-bar :where(a,button,input,select,textarea):focus-visible,.applied-filters__scroll:focus-visible,.applied-filter:focus-visible,.applied-filters__reset:focus-visible,.report-view-tab:focus-visible,.data-view :where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--report-focus-color);outline-offset:2px}@keyframes report-spin{to{transform:rotate(360deg)}}@media (max-width:899px){.report-page-header{flex-direction:column;align-items:flex-start;gap:16px}.report-page-header__actions{justify-content:flex-start;width:100%}.report-scope-bar__row{flex-wrap:wrap;align-items:flex-start}.report-scope-bar__controls{flex:100%}.report-scope-bar__freshness{white-space:normal;overflow-wrap:anywhere;flex:auto;min-width:0}}@media (max-width:639px){.report-workspace{gap:16px}.report-page-header__title{font-size:29px}.report-page-header__actions>*{min-height:var(--report-touch-min)}.report-scope-bar{margin-inline:calc(var(--report-mobile-gutter) * -1);padding-inline:var(--report-mobile-gutter)}.report-scope-bar--sticky{padding-top:env(safe-area-inset-top,0px)}.report-scope-bar__row{min-height:var(--report-control-h-mobile)}.report-scope-bar__controls{flex-wrap:wrap;overflow:visible}.report-scope-bar__actions{width:100%;margin-left:0}.applied-filter{min-height:var(--report-touch-min)}.report-view-tabs{margin-inline:calc(var(--report-mobile-gutter) * -1);padding-inline:var(--report-mobile-gutter);scroll-padding-inline:var(--report-mobile-gutter)}.data-view__header{min-height:60px;padding:14px 16px}.data-view__toolbar{overscroll-behavior-inline:contain;overflow-x:auto}.data-view__state,.data-view .state-block{min-height:200px}.data-view__skeleton{width:calc(100vw - (var(--report-mobile-gutter) * 4))}.cursor-pager{justify-content:space-between;padding:7px 10px}.cursor-pager__wide,.cursor-pager__size{display:none}.cursor-pager__compact{display:inline}.cursor-pager .btn{padding-inline:10px}.chart-panel__visual{min-height:208px;padding:14px 16px}.chart-panel__summary{padding:0 16px 14px}.chart-panel__evidence{padding:12px 16px}}@media (prefers-reduced-motion:reduce){.report-workspace *,.report-workspace :before,.report-workspace :after,.report-scope-bar *,.report-scope-bar :before,.report-scope-bar :after,.report-view-tabs *,.report-view-tabs :before,.report-view-tabs :after,.data-view *,.data-view :before,.data-view :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.report-workspace .skeleton,.data-view .skeleton{animation:none!important}}
