@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:#6b6a62;--accent:#e8500e;--accent-hover:#cf4408;--accent-subtle:#e8500e14;--accent-strong:#b4400a;--accent-strong-hover:#a63a08;--text-on-accent:#fff;--focus-ring:#b4400a;--border-control:#8e8d85;--surface-inverse:#15160f;--text-on-inverse:#f2f1ec;--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;--text-on-status:#fff;--success-text:#146b3a;--warning-text:#855a08;--error-text:#b33018;--neutral-text:#5a5f6b;--info-text:#1f58a8;--score-poor:#c2381f;--score-weak:#b5790a;--score-good:#5b8a1f;--score-excellent:#1f8a4c;--score-poor-text:#b33018;--score-weak-text:#855a08;--score-good-text:#457012;--score-excellent-text:#146b3a;--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;--content-pad-x:clamp(14px, 2.2vw, 44px);--content-pad-y:clamp(16px, 1.4vw, 32px);--stack-gap:clamp(16px, 1.2vw, 24px);--stack-gap-tight:12px;--stack-gap-loose:32px;--panel-pad:20px;--panel-pad-compact:16px;--measure:65ch;--ctl-h-sm:32px;--ctl-h-md:40px;--ctl-h-lg:48px;--touch-min:44px;--col-xs:72px;--col-sm:120px;--col-md:180px;--col-lg:260px;--col-text-min:240px;--col-text-max:480px;--row-h:44px;--row-h-dense:36px;--th-h:40px;--cell-x:14px;--cell-y:10px;--clamp-cell:2;--clamp-card:4;--shell-top:0px;--sidebar-w:248px;--rail-w:64px;--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;--menu-w-max:360px;--menu-h-max:320px;--menu-search-from:12;--gap-icon:8px;--menu-item-h:36px;--z-base:0;--z-raised:1;--z-sticky:10;--z-dropdown:20;--z-drawer-scrim:30;--z-drawer:40;--z-modal-scrim:50;--z-modal:60;--z-lightbox:70;--z-toast:80;--z-skip:100;--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:#918f87;--accent:#ff6a2c;--accent-hover:#ff824d;--accent-subtle:#ff6a2c1f;--accent-strong:#ff6a2c;--accent-strong-hover:#ff824d;--text-on-accent:#0e0f0d;--focus-ring:#ff6a2c;--border-control:#6e6d66;--surface-inverse:#08090a;--text-on-inverse:#f2f1ec;--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;--text-on-status:#0e0f0d;--success-text:#3fbf73;--warning-text:#e0a93b;--error-text:#f26b52;--neutral-text:#a0a29c;--info-text:#5c9be0;--score-poor:#f26b52;--score-weak:#e0a93b;--score-good:#9fcf5c;--score-excellent:#3fbf73;--score-poor-text:#f26b52;--score-weak-text:#e0a93b;--score-good-text:#9fcf5c;--score-excellent-text:#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{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5}html,body{height:100%;margin:0}body{font-family:var(--font-body);background:var(--bg-base);color:var(--text-primary);font-size:14px;line-height:inherit;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}p,figure,blockquote,pre,dl,dd,fieldset{margin:0}ol,ul,menu{margin:0;padding:0;list-style:none}fieldset,legend{padding:0}hr{height:0;color:inherit;border-top-width:1px}button,input,optgroup,select,textarea{font:inherit;color:inherit;letter-spacing:inherit;background:0 0;border:0 solid;margin:0;padding:0}button,[type=button],[type=reset],[type=submit]{appearance:button}button:not(:disabled),[role=button]:not(:disabled){cursor:pointer}::placeholder{opacity:1;color:var(--text-dim)}textarea{resize:vertical}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}[hidden]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}::selection{background:var(--accent-subtle);color:var(--accent-strong)}*{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;width:9px;z-index:var(--z-raised);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{flex-wrap:wrap;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-strong);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{gap:var(--stack-gap);flex-direction:column;display:flex}.section-gap>*{margin-block:0}.split-row{gap:var(--stack-gap);flex-wrap:wrap;display:flex}.split-row>*{flex:280px;min-width:0}.split-row>:first-child{flex:1.4 380px}.head-actions{flex-wrap:wrap;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:repeat(auto-fit,minmax(min(360px,100%),1fr));display:grid;overflow:hidden}.hero-metric{background:var(--surface-inverse);color:var(--text-on-inverse);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;box-shadow:0 0 0 3px var(--surface-inverse);position:absolute;top:1px;transform:translate(-2px)}.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{flex-wrap:wrap;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{background:var(--surface-inverse);color:var(--text-on-inverse);border-radius:var(--r-md);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;box-shadow:0 0 0 3px var(--surface-inverse);position:absolute;top:1px;transform:translate(-2px)}.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:var(--text-on-inverse)}.sn-item.active{background:var(--accent-subtle);color:var(--accent-strong)}.sn-item.active .ficon{color:var(--accent-strong)}.sn-item .ficon{color:var(--text-dim)}.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);flex-wrap:wrap;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-wrap:wrap;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{flex-wrap:wrap;gap:16px;display:flex}.field-row>.field,.field-row>.input,.field-row>.select{flex:200px;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-text)}.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-text)}.conn-state.err .dot{background:var(--error)}.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);flex-wrap:wrap;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{flex-wrap:wrap;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-strong);color:var(--text-on-accent);box-shadow:inset 0 1px 0 #ffffff29, var(--shadow-xs)}.btn-primary:hover:not(:disabled){background:var(--accent-strong-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-strong)}.btn-subtle:hover:not(:disabled){filter:brightness(.97)}.btn-danger{background:var(--surface);color:var(--error-text);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-text)}.badge-warning{background:var(--warning-subtle);color:var(--warning-text)}.badge-error{background:var(--error-subtle);color:var(--error-text)}.badge-neutral{background:var(--neutral-subtle);color:var(--neutral-text)}.badge-info{background:var(--info-subtle);color:var(--info-text)}.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-text)}.tag-neutral{background:var(--neutral-subtle);color:var(--neutral-text)}.tag-info{background:var(--info-subtle);color:var(--info-text)}.tag-error{background:var(--error-subtle);color:var(--error-text)}.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-text)}.deal-active{background:var(--info-subtle);color:var(--info-text)}.deal-open{background:var(--warning-subtle);color:var(--warning-text)}.deal-lost{background:var(--neutral-subtle);color:var(--neutral-text)}.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-text)}.delta-up:before{border-bottom:5px solid}.delta-down{color:var(--error-text)}.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);flex-wrap:wrap;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-strong)}.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--touch{min-height:var(--touch-min)}.select:hover{border-color:var(--border-strong)}.select.on{color:var(--accent-strong);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);position:relative}.table-wrap>.ui-table thead th:first-child{border-top-left-radius:var(--r-md)}.table-wrap>.ui-table thead th:last-child{border-top-right-radius:var(--r-md)}.table-wrap>.ui-table tbody tr:last-child td:first-child{border-bottom-left-radius:var(--r-md)}.table-wrap>.ui-table tbody tr:last-child td:last-child{border-bottom-right-radius:var(--r-md)}.cell-name{white-space:nowrap;font-weight:500}.row-chev{color:var(--text-dim)}.uname{align-items:center;gap:10px;display:flex}.uname-body{gap:var(--sp-2);flex-direction:column;min-width:0;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-strong);width:30px;height:30px;color:var(--text-on-accent);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-strong);box-shadow:0 0 0 6px var(--accent-subtle);border-color:#0000}.state-icon--sm{width:var(--sp-40);height:var(--sp-40);box-shadow:none}.state-icon.error{background:var(--error-subtle);color:var(--error-text);box-shadow:0 0 0 6px var(--error-subtle);border-color:#0000}.state-title{font:600 17px var(--font-display);letter-spacing:-.01em;margin:2px 0 0}.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-text);font-size:12px}.field-head{justify-content:space-between;align-items:center;gap:var(--sp-12);flex-wrap:wrap;display:flex}.field-foot{align-self:flex-end}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.form-error{color:var(--error-text);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{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.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-strong);border-bottom-color:var(--accent)}.modal-scrim{z-index:var(--z-modal-scrim);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:var(--z-toast);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-text)}.pop{z-index:var(--z-dropdown);background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);overscroll-behavior:contain;padding:5px;position:fixed;overflow-y:auto}.pop-search{background:var(--surface-elevated);border-bottom:1px solid var(--border);margin:-5px -5px 4px;padding:7px 8px;position:sticky;top:-5px}.pop-search input{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);width:100%;color:var(--text-primary);font:400 13px var(--font-body);padding:6px 9px}.pop-search input:focus-visible{border-color:var(--border-control);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.pop-empty{color:var(--text-dim);padding:9px 10px;font-size:13px}.pop-item{align-items:flex-start;gap:var(--gap-icon);text-align:left;border-radius:var(--r-sm);cursor:pointer;width:100%;font:400 13px var(--font-body);color:var(--text-primary);min-height:var(--menu-item-h);background:0 0;border:none;padding:8px 10px;display:flex}.pop-item:hover:not(:disabled),.pop-item.on{background:var(--bg-subtle)}.pop-item:disabled{opacity:.5;cursor:default}.pop-item.danger{color:var(--error-text)}.pop-item-mark{flex:none;justify-content:center;align-items:center;width:16px;padding-top:1px;display:inline-flex}.pop-item-body{flex:1;min-width:0}.pop-item-label{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.pop-item-hint{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.pop-item-body:has(.pop-item-hint) .pop-item-label{-webkit-line-clamp:1;line-clamp:1}.cell-actions{position:relative}.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%}.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:var(--z-dropdown);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-text);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-text);flex-shrink:0}.page{gap:var(--stack-gap);flex-direction:column;width:100%;min-width:0;display:flex}.page>*{margin-block:0}.page--reading{width:min(100%, var(--measure))}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--sp-16);flex-wrap:wrap;display:flex}.page-header__copy{gap:var(--sp-8);flex-direction:column;flex:auto;min-width:0;display:flex}.page-header__copy>*{margin-block:0}.page-header__meta{color:var(--text-dim);font-size:12px}.page-header__actions{justify-content:flex-end;align-items:center;gap:var(--sp-8);flex-wrap:wrap;flex:none;display:flex}.stack{gap:var(--stack-gap);flex-direction:column;min-width:0;display:flex}.stack>*{margin-block:0}.stack--tight{gap:var(--stack-gap-tight)}.stack--loose{gap:var(--stack-gap-loose)}.panel-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);padding:var(--panel-pad);gap:var(--stack-gap-tight);flex-direction:column;min-width:0;display:flex}.panel-box>*{margin-block:0}.panel-box--compact{padding:var(--panel-pad-compact)}.panel-box--none{padding:0}.panel-box__head{justify-content:space-between;align-items:center;gap:var(--sp-12);display:flex}.panel-box__title{font:600 15px/1.3 var(--font-body);color:var(--text-primary)}.panel-box__actions{align-items:center;gap:var(--sp-8);flex:none;display:flex}.toolbar{background:var(--bg-base);border-bottom:1px solid var(--border);min-width:0;z-index:var(--z-sticky)}.toolbar--sticky{top:var(--shell-top);box-shadow:var(--shadow-xs);position:sticky}.toolbar__row{align-items:center;gap:var(--sp-8);padding-block:var(--sp-4);min-height:var(--ctl-h-md);flex-wrap:wrap;display:flex}.toolbar__control{align-items:center;min-width:0;display:flex}.toolbar__search{flex:220px;min-width:180px}.toolbar__note{color:var(--text-dim);font-size:12px}.toolbar__actions{align-items:center;gap:var(--sp-8);flex:none;margin-left:auto;display:flex}.toolbar__more-count{margin-left:var(--sp-4);color:var(--text-dim)}.toolbar__more{padding:var(--panel-pad-compact);gap:var(--stack-gap-tight);flex-direction:column;display:flex}.toolbar__more-item{gap:var(--sp-4);flex-direction:column;display:flex}.toolbar__more-label{color:var(--text-dim);font-size:12px}.toolbar__applied{align-items:center;gap:var(--sp-8);padding-bottom:var(--sp-8);flex-wrap:wrap;display:flex}.table-wrap{width:100%;min-width:0}.table-wrap--sticky{overflow:visible}.table-wrap--scroll-x{overflow-x:auto}.table-wrap--scroll-x .ui-table thead th{position:static}.table-wrap__pagination{padding-top:var(--stack-gap-tight)}.ui-table{border-collapse:collapse;table-layout:fixed;width:100%}.ui-table thead th{z-index:var(--z-raised);background:var(--surface);text-align:left;height:var(--th-h);padding:0 var(--cell-x);font:600 var(--fs-12,12px)/1.2 var(--font-body);letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim);border-bottom:1px solid var(--border);position:sticky;top:0}.ui-table tbody td{height:var(--row-h);padding:var(--cell-y) var(--cell-x);border-bottom:1px solid var(--border);vertical-align:middle;text-overflow:ellipsis;overflow:hidden}.ui-table--dense tbody td{height:var(--row-h-dense);padding-block:var(--sp-4)}.ui-table tbody tr:last-child td{border-bottom:none}.ui-table tbody tr.clickable{cursor:pointer}.ui-table tbody tr.clickable:hover{background:var(--bg-subtle)}.ui-table .align-right{text-align:right}.ui-table .cell-text{white-space:normal}.ui-table .cell-action{text-align:right}.ui-table col.col-xs{width:var(--col-xs)}.ui-table col.col-sm{width:var(--col-sm)}.ui-table col.col-md{width:var(--col-md)}.ui-table col.col-lg{width:var(--col-lg)}.ui-table col.col-text{width:auto;min-width:var(--col-text-min);max-width:var(--col-text-max)}.ui-table col.col-action{width:var(--col-xs)}.long-text{min-width:0}.long-text__body--clamp-2{-webkit-line-clamp:var(--clamp-cell);line-clamp:var(--clamp-cell);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.long-text__body--clamp-4{-webkit-line-clamp:var(--clamp-card);line-clamp:var(--clamp-card);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.long-text__toggle{margin-top:var(--sp-4);color:var(--accent-strong);font:500 13px var(--font-body);cursor:pointer;background:0 0;border:none;padding:0}.long-text__toggle:hover{text-decoration:underline}@media (max-width:640px){.table-wrap--phone-cards .ui-table,.table-wrap--phone-cards .ui-table tbody,.table-wrap--phone-cards .ui-table tr,.table-wrap--phone-cards .ui-table td{width:auto;display:block}.table-wrap--phone-cards .ui-table colgroup,.table-wrap--phone-cards .ui-table thead{display:none}.table-wrap--phone-cards .ui-table tr{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--panel-pad-compact);margin-bottom:var(--stack-gap-tight)}.table-wrap--phone-cards .ui-table td{height:auto;padding:var(--sp-4) 0;justify-content:space-between;gap:var(--sp-12);text-align:left;border-bottom:none;display:flex}.table-wrap--phone-cards .ui-table td:before{content:attr(data-label);color:var(--text-dim);flex:none;font-size:12px}.table-wrap--phone-cards .ui-table td.cell-action{justify-content:flex-end}}@media (max-width:1023px){.table-wrap{overflow-x:auto}.table-wrap .ui-table thead th{position:static}.table-wrap--phone-scroll{overflow-x:auto}.table-wrap--phone-scroll .ui-table thead th{position:static}.table-wrap--phone-scroll .ui-table{border-radius:0}.table-wrap--phone-scroll .ui-table tbody td:first-child,.table-wrap--phone-scroll .ui-table thead th:first-child{background:var(--surface);position:sticky;left:0}}.pagination{justify-content:flex-end;align-items:center;gap:var(--sp-8);min-height:58px;padding:7px var(--cell-x);flex-wrap:wrap;display:flex}.pagination .btn{min-height:var(--touch-min)}.pagination__range{color:var(--text-secondary);font:500 12px/1.35 var(--font-body);text-align:center}.pagination__compact{display:none}.pagination__size{color:var(--text-dim);font:500 12px/1.2 var(--font-body);align-items:center;gap:7px;display:flex}.pagination__pages{align-items:center;gap:var(--sp-4);display:inline-flex}.pagination__page{min-width:32px;height:32px;padding:0 var(--sp-8);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.pagination__page:hover:not(.is-current){border-color:var(--accent);color:var(--text-primary)}.pagination__page.is-current{background:var(--accent-subtle);color:var(--accent-strong);cursor:default;border-color:#0000}.pagination__gap{color:var(--text-dim);padding-inline:var(--sp-4)}@media (max-width:640px){.pagination{padding-inline:var(--sp-8);justify-content:space-between}.pagination__wide,.pagination__size{display:none}.pagination__compact{display:inline}.pagination__pages{order:3;justify-content:center;width:100%}}.drawer-head__copy{flex:auto;min-width:0}.drawer-foot{padding:var(--panel-pad-compact) var(--sp-24);border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:var(--sp-8);flex-wrap:wrap;display:flex}.violation{gap:var(--sp-8);padding:var(--panel-pad-compact);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);flex-direction:column;display:flex}.violation__category{font:600 13px var(--font-body);color:var(--text-primary)}.violation__quote{padding-left:var(--sp-12);border-left:2px solid var(--border-strong);color:var(--text-secondary);margin:0;font-style:italic}.violation__better{color:var(--text-secondary);font-size:13px}.violation__better-label{color:var(--success-text);font-weight:600}.input--sm{min-height:var(--ctl-h-sm)}.input--md{min-height:var(--ctl-h-md)}.input--lg{min-height:var(--ctl-h-lg)}.textarea{resize:vertical;min-height:auto;line-height:1.5}.input.is-invalid{border-color:var(--error)}.input.is-invalid:focus-visible{box-shadow:0 0 0 3px var(--error-subtle)}.switch-row__copy{gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.switch-row__label{font:500 14px var(--font-body);color:var(--text-primary)}.switch{border:1px solid var(--border-strong);background:var(--bg-subtle);cursor:pointer;width:42px;height:24px;transition:background var(--dur-hover), border-color var(--dur-hover);border-radius:999px;flex:none;align-items:center;padding:2px;display:inline-flex}.switch__knob{background:var(--surface);width:18px;height:18px;box-shadow:var(--shadow-xs);transition:transform var(--dur-hover);border-radius:50%}.switch.is-on{background:var(--accent-strong);border-color:#0000}.switch.is-on .switch__knob{transform:translate(18px)}.switch:disabled{opacity:.5;cursor:not-allowed}.tabs{align-items:center;gap:var(--sp-4);flex-wrap:wrap;display:inline-flex}.tabs__tab{align-items:center;gap:var(--sp-8);border-radius:var(--r-sm);padding:0 var(--sp-12);min-height:var(--ctl-h-sm);color:var(--text-secondary);font:500 14px var(--font-body);cursor:pointer;background:0 0;border:1px solid #0000;display:inline-flex}.tabs__tab:hover:not(.is-current){color:var(--text-primary);background:var(--bg-subtle)}.tabs__count{color:var(--text-dim);font-size:12px}.tabs--page{gap:var(--sp-12);border-bottom:1px solid var(--border);width:100%}.tabs--page .tabs__tab{padding-inline:var(--sp-4);min-height:var(--ctl-h-md);border-bottom:2px solid #0000;border-radius:0}.tabs--page .tabs__tab.is-current{color:var(--text-primary);border-bottom-color:var(--accent-strong)}.tabs--segment{background:var(--bg-subtle);border-radius:var(--r-md);padding:3px}.tabs--segment .tabs__tab.is-current{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-xs)}
:root{--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>*{margin-block:0}.report-workspace{gap:var(--stack-gap);flex-direction:column;width:100%;min-width:0;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:var(--z-sticky);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)}.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)}.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}.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))}.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}}
