:root{--page: #f4f7fb;--card: #ffffff;--line: #e3e9f2;--line-strong: #cbd5e3;--ink: #0b1e3a;--ink-2: #4a5872;--ink-3: #8a97ad;--blue: #1c99fe;--blue-deep: #0f6fc4;--blue-soft: #e8f4ff;--settling: #f4c82a;--settling-deep: #b78a00;--settling-soft: #fff7d6;--ok: #22a06b;--ok-soft: #e6f6ee;--alarm: #fd4766;--alarm-deep: #c92746;--alarm-soft: #ffe9ee;--violet: #7644ff;--display: "Poppins", system-ui, sans-serif;--text: "Rubik", system-ui, sans-serif;--r: 12px;--r-sm: 8px;--shadow: 0 1px 2px rgba(11, 30, 58, .04), 0 4px 16px rgba(11, 30, 58, .05);--sidebar: 236px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--page);color:var(--ink);font-family:var(--text);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,.display{font-family:var(--display);letter-spacing:-.01em}a{color:var(--blue-deep)}.num,.gauge-value,td.num,th.num,.client-card-facts,.matrix-behind{font-variant-numeric:tabular-nums}.app{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100%}.sidebar{background:var(--card);border-right:1px solid var(--line);padding:22px 18px;display:flex;flex-direction:column;gap:26px;position:sticky;top:0;height:100vh}.brand{display:flex;flex-direction:column;gap:10px;padding:0 4px}.brand img{width:172px;height:auto;display:block}.brand-product{font-family:var(--display);font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.nav{display:flex;flex-direction:column;gap:2px}.nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r-sm);color:var(--ink-2);text-decoration:none;font-weight:500;font-size:14px}.nav a:hover{background:var(--page);color:var(--ink)}.nav a.active{background:var(--blue-soft);color:var(--blue-deep);font-weight:600}.nav a:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.nav-icon{width:18px;height:18px;flex:none}.sidebar-foot{margin-top:auto;padding:0 4px;font-size:12.5px;color:var(--ink-3);display:flex;flex-direction:column;gap:4px}.sidebar-foot strong{color:var(--ink-2);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main{padding:30px 36px 64px;max-width:1240px;width:100%}@media(max-width:860px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;flex-wrap:wrap;gap:14px;border-right:none;border-bottom:1px solid var(--line)}.nav{flex-direction:row}.sidebar-foot{margin-top:0;margin-left:auto}.main{padding:20px 16px 48px}}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 20px}.page-title{font-size:24px;font-weight:600;margin:2px 0}.page-sub{color:var(--ink-2);margin:0;font-size:13.5px}.crumbs{font-size:12.5px;color:var(--ink-3);margin:0}.crumbs a{color:var(--ink-3);text-decoration:none}.crumbs a:hover{color:var(--blue-deep)}.label{font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--ink-2);margin:0}.section{margin-top:28px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.section-head h3{font-size:15px;font-weight:600;margin:0}.muted{color:var(--ink-3)}.hint{font-size:12.5px;color:var(--ink-3)}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.state{padding:22px 16px;text-align:center;color:var(--ink-3);font-size:13.5px}.error{color:var(--alarm-deep);background:var(--alarm-soft);border-radius:var(--r-sm);padding:10px 12px;font-size:13px;margin-top:12px}.is-alarm{color:var(--alarm-deep)}.is-healthy{color:var(--ok)}.is-provisional{color:var(--settling-deep)}.button,a.button,.actions button,.inline-form button,.dialog-actions button,.settings-block table button,.incident-actions button{font-family:var(--text);font-size:13.5px;font-weight:500;padding:9px 16px;background:var(--blue);color:#fff;border:1px solid var(--blue);border-radius:var(--r-sm);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;line-height:1.2}.button:hover,a.button:hover,.actions button:hover,.inline-form button:hover,.dialog-actions button:hover,.settings-block table button:hover,.incident-actions button:hover{background:var(--blue-deep);border-color:var(--blue-deep)}button.quiet,a.button.quiet{background:var(--card);color:var(--ink);border-color:var(--line-strong);box-shadow:var(--shadow)}button.quiet:hover,a.button.quiet:hover{background:var(--page);color:var(--ink);border-color:var(--line-strong)}button.danger{background:var(--alarm);border-color:var(--alarm)}button.danger:hover{background:var(--alarm-deep);border-color:var(--alarm-deep)}button.small{padding:5px 11px;font-size:12.5px}button:disabled{opacity:.5;cursor:default}button:focus-visible,a.button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.linkish{font:inherit;color:var(--blue-deep);background:none;border:none;padding:0;cursor:pointer}.linkish:hover{text-decoration:underline}.link{font:inherit;color:var(--ink);background:none;border:none;padding:0;cursor:pointer;text-align:left;font-weight:600}.link:hover{color:var(--blue-deep)}.gauges{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.gauge{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:16px 18px;display:flex;flex-direction:column;gap:2px}.gauge .label{color:var(--ink-3);font-weight:500}.gauge-value{font-family:var(--display);font-size:28px;font-weight:600;line-height:1.15;margin-top:4px}.gauge-note{font-size:12.5px;color:var(--ink-2)}.client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.client-card{font:inherit;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:16px 18px 14px;cursor:pointer;display:flex;flex-direction:column;gap:4px;color:var(--ink);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.client-card:hover,.client-card:focus-visible{border-color:var(--blue);box-shadow:0 2px 4px #0b1e3a0d,0 10px 28px #1c99fe1f;transform:translateY(-1px);outline:none}.client-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.client-card-name{font-family:var(--display);font-size:16px;font-weight:600}.client-card-sites{font-size:12.5px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-card-facts{display:flex;gap:12px;flex-wrap:wrap;font-size:12.5px;margin-top:8px;color:var(--ink-2)}.ring{width:28px;height:28px;flex:none}.ring circle{fill:var(--line-strong)}.ring[data-state=ok] circle{fill:var(--blue)}.ring[data-state=ok] circle.tail{fill:var(--settling)}.ring[data-state=stale] circle{fill:var(--alarm)}.ring[data-state=stale] circle.gap{fill:transparent}.ring[data-state=alarm] circle{fill:var(--alarm)}.ring[data-state=paused] circle{fill:var(--line-strong)}.matrix{padding:18px 20px 14px}.matrix-intro{font-size:13px;color:var(--ink-2);margin:0 0 14px;max-width:70ch}.matrix-row{display:grid;grid-template-columns:minmax(160px,1.3fr) 1fr auto;align-items:center;gap:16px;padding:10px 0;border-top:1px solid var(--line)}.matrix-row:first-of-type{border-top:none}.matrix-site{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.matrix-site button{font:inherit;font-weight:500;color:var(--ink);background:none;border:none;padding:0;cursor:pointer;text-align:left}.matrix-site button:hover,.matrix-site button:focus-visible{color:var(--blue-deep);outline:none}.matrix-client{display:block;font-size:11.5px;color:var(--ink-3)}.cells{display:flex;gap:3px}.cell{flex:1;height:22px;min-width:8px;border-radius:4px;background:var(--page);border:1px solid var(--line)}.cell[data-state=final]{background:var(--blue);border-color:var(--blue)}.cell[data-state=provisional]{border-color:var(--settling);background:repeating-linear-gradient(45deg,var(--settling) 0 3px,var(--settling-soft) 3px 7px)}.cell[data-cutoff=true]{box-shadow:0 0 0 2px var(--card),0 0 0 3.5px var(--ink)}.matrix-behind{font-size:12.5px;text-align:right;white-space:nowrap;font-weight:500}.matrix-scale{display:grid;grid-template-columns:minmax(160px,1.3fr) 1fr auto;gap:16px;margin-top:6px;font-size:11.5px;color:var(--ink-3)}.scale-ends{display:flex;justify-content:space-between}.legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px 20px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-2)}.legend span{display:flex;align-items:flex-start;gap:9px}.legend b{color:var(--ink);font-weight:600;display:block}.swatch{width:16px;height:16px;border-radius:4px;border:1px solid var(--line);flex:none;margin-top:2px;background:var(--page)}.swatch[data-state=final]{background:var(--blue);border-color:var(--blue)}.swatch[data-state=provisional]{border-color:var(--settling);background:repeating-linear-gradient(45deg,var(--settling) 0 3px,var(--settling-soft) 3px 7px)}.swatch[data-state=cutoff]{box-shadow:0 0 0 2px var(--card),0 0 0 3.5px var(--ink)}.chart-panel{padding:18px 18px 10px}.chart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.chart-title{font-family:var(--display);font-size:15px;font-weight:600;margin:0}.metric-switch{display:inline-flex;gap:4px;background:var(--page);border:1px solid var(--line);border-radius:999px;padding:3px}.metric-switch button{font:inherit;font-size:12.5px;font-weight:500;background:transparent;color:var(--ink-2);border:none;border-radius:999px;padding:5px 12px;cursor:pointer}.metric-switch button[aria-pressed=true]{background:var(--card);color:var(--ink);box-shadow:var(--shadow)}.metric-switch button:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.tooltip{background:var(--card);border:1px solid var(--line-strong);border-radius:var(--r-sm);box-shadow:var(--shadow);padding:8px 10px;font-size:12.5px;line-height:1.6}.tooltip-date{font-weight:600}.chart-note{margin:8px 0 4px;font-size:12px;color:var(--ink-3)}.tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px;margin-top:20px}table{width:100%;border-collapse:collapse;font-size:13.5px}th{text-align:left;font-size:12px;font-weight:600;color:var(--ink-3);padding:11px 14px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:middle}td.num,th.num{text-align:right}.truncate{max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:#fafcff}td a{color:var(--ink);text-decoration:none;font-weight:500}td a:hover{color:var(--blue-deep);text-decoration:underline}.incidents td{vertical-align:top}.incidents tr[data-selected=true] td{background:var(--blue-soft)}.severity{display:inline-block;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;text-transform:capitalize}.severity[data-severity=critical]{color:#fff;background:var(--alarm)}.severity[data-severity=high]{color:var(--alarm-deep);background:var(--alarm-soft)}.severity[data-severity=medium]{color:var(--settling-deep);background:var(--settling-soft)}.severity[data-severity=low]{color:var(--ink-2);background:var(--page)}.incident-site{display:block;font-size:12px;color:var(--ink-3);margin-top:2px}.incident-summary{margin:6px 0 0;font:inherit;font-size:12.5px;color:var(--ink-2);white-space:pre-wrap}.incident-panel{padding:20px 22px 18px;border-left:4px solid var(--alarm)}.incident-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.incident-status{font-size:12px;color:var(--ink-3);margin-left:10px;text-transform:capitalize}.incident-title{font-size:20px;font-weight:600;margin:8px 0 2px}.close{font:inherit;font-size:20px;line-height:1;background:none;border:1px solid var(--line);border-radius:999px;color:var(--ink-3);width:32px;height:32px;cursor:pointer;flex:none}.close:hover,.close:focus-visible{border-color:var(--ink-2);color:var(--ink);outline:none}.incident-facts{display:flex;gap:28px;flex-wrap:wrap;margin:14px 0 18px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.incident-facts div{display:flex;flex-direction:column;gap:2px}.incident-facts dt{font-size:12px;color:var(--ink-3)}.incident-facts dd{margin:0;font-size:14px;font-weight:500}.evidence{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--r-sm)}.evidence li{padding:12px 14px;border-top:1px solid var(--line)}.evidence li:first-child{border-top:none}.evidence-detector{font-size:12px;font-weight:600;color:var(--blue-deep)}.evidence-window{font-size:12px;color:var(--ink-3);margin-left:12px}.evidence p{margin:6px 0 0;font-size:13.5px}.evidence-detail{display:flex;flex-wrap:wrap;gap:4px 20px;margin:8px 0 0;font-size:12px;color:var(--ink-3)}.evidence-detail div{display:flex;gap:6px}.evidence-detail dt:after{content:":"}.evidence-detail dd{margin:0;color:var(--ink)}.incident-notes{margin:14px 0 0;padding:10px 12px;background:var(--page);border-radius:var(--r-sm);font-size:13px;color:var(--ink-2)}.incident-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.incident-actions button.quiet{margin-left:auto}.tab-list{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px}.tab{font:inherit;font-size:14px;font-weight:500;background:transparent;color:var(--ink-2);border:none;padding:10px 14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tab[data-state=active]{color:var(--blue-deep);border-bottom-color:var(--blue);font-weight:600}.tab:focus-visible{outline:2px solid var(--blue);outline-offset:-2px;border-radius:4px}.tab-count{display:inline-block;margin-left:6px;padding:0 7px;font-size:11.5px;border-radius:999px;background:var(--alarm);color:#fff}.settings-block{padding:18px 20px;margin-bottom:16px}.settings-block .label{font-size:14px;color:var(--ink)}.inline-form{display:flex;gap:8px;margin-top:10px}.inline-form input,.filter{font:inherit;flex:1;padding:9px 12px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--card);color:var(--ink)}.inline-form input:focus-visible,.filter:focus-visible{outline:2px solid var(--blue);outline-offset:-1px;border-color:var(--blue)}.help{font-size:12.5px;color:var(--ink-3);margin:12px 0 0}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b1e3a66}.dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(480px,calc(100vw - 32px));background:var(--card);border-radius:var(--r);box-shadow:0 20px 60px #0b1e3a40;padding:22px 24px;font-family:var(--text);color:var(--ink)}.dialog-wide{width:min(620px,calc(100vw - 32px))}.dialog-title{font-family:var(--display);font-size:18px;font-weight:600;margin:0 0 6px}.dialog-body{font-size:13.5px;color:var(--ink-2);margin:0 0 14px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.filter{width:100%;margin-bottom:8px}.picklist{max-height:46vh;overflow:auto;border:1px solid var(--line);border-radius:var(--r-sm)}.pick{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:9px 12px;border-top:1px solid var(--line);cursor:pointer;font-size:13.5px}.pick:first-child{border-top:none}.pick:hover{background:var(--page)}.pick input{accent-color:var(--blue)}.pick-meta{font-size:12px;color:var(--ink-3)}.gate-page{min-height:100%;display:grid;place-items:center;padding:24px;background:radial-gradient(900px 480px at 85% -10%,rgba(28,153,254,.14),transparent 60%),radial-gradient(700px 420px at 0% 110%,rgba(118,68,255,.08),transparent 60%),var(--page)}.gate{width:min(420px,100%);padding:30px 32px 28px;text-align:center}.gate img{width:190px;height:auto;margin:0 auto 8px;display:block}.gate h1{font-size:20px;font-weight:600;margin:8px 0 6px}.gate p{color:var(--ink-2);margin:0 0 20px;font-size:13.5px}.gate .button{width:100%;justify-content:center;padding:11px 16px;font-size:14px}.gate .fine{margin:16px 0 0;font-size:12px;color:var(--ink-3)}@media(prefers-reduced-motion:reduce){.client-card{transition:none}}.split-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:10px;font-size:13.5px}.split-bar{display:flex;height:14px;border-radius:999px;overflow:hidden;background:var(--line);gap:2px}.split-seg[data-part=demand]{background:var(--ink-3)}.split-seg[data-part=ranking]{background:var(--blue)}.split-seg[data-part=presentation]{background:var(--violet)}.split-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 20px;margin-top:12px;font-size:13px}.split-item{display:flex;gap:8px;align-items:flex-start}.split-item small{display:block;color:var(--ink-3);font-size:12px}.split-dot{width:10px;height:10px;border-radius:999px;margin-top:5px;flex:none}.split-item[data-part=demand] .split-dot{background:var(--ink-3)}.split-item[data-part=ranking] .split-dot{background:var(--blue)}.split-item[data-part=presentation] .split-dot{background:var(--violet)}.findings,.actions-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.finding{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:var(--r);box-shadow:var(--shadow);padding:14px 18px}.finding[data-verdict=accepted]{border-left-color:var(--ok)}.finding[data-verdict=rejected]{border-left-color:var(--line-strong);opacity:.7}.finding-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.finding-rank{font-family:var(--display);font-weight:600;color:var(--ink-3);font-size:12px}.finding-type{font-family:var(--display);font-weight:600;font-size:15px}.finding-confidence{font-size:12px;color:var(--ink-3);background:var(--page);padding:2px 8px;border-radius:999px}.finding-verdict{margin-left:auto;display:flex;gap:6px}.finding-lead{margin:0;font-size:14px;line-height:1.6}.finding-detail{margin:8px 0 0;font-size:12.5px;color:var(--ink-2);line-height:1.55}.action{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 16px}.action[data-status=done] .action-title{text-decoration:line-through;color:var(--ink-3)}.action[data-status=dismissed]{opacity:.55}.action-check input{width:18px;height:18px;margin-top:2px;accent-color:var(--ok)}.action-title{font-weight:500;font-size:14px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.action-meta{font-size:12px;color:var(--ink-3);font-weight:400}.action-notes{margin:6px 0 0;font-size:12.5px;color:var(--ink-2);line-height:1.55}.action-dismiss{font-size:12px;color:var(--ink-3);white-space:nowrap}
