:root{--bg: #f5f7fa;--surface: #ffffff;--surface-2: #f7f9fb;--surface-3: #f0f3f7;--border: #e5e9f0;--border-soft: #eef1f5;--text: #1b2230;--text-2: #5b6578;--text-3: #8b94a5;--text-4: #b4bbc7;--primary: #1f5fc6;--primary-hover: #2a6fdc;--primary-soft: #ebf2fd;--ok: #1e9e64;--ok-soft: #e7f6ef;--warn: #d98a0b;--warn-soft: #fdf3e2;--danger: #dc3d4b;--danger-soft: #fdedef;--up: #d9363e;--down: #14946a;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .03);--shadow-hover: 0 4px 16px rgba(16, 24, 40, .07);--sider-w: 228px;--gutter: 20px;--font-num: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", "PingFang SC", sans-serif;--font-mono: "SF Mono", "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;color-scheme:light}html,body{background:var(--bg);color:var(--text)}body{margin:0;font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::selection{background:#1f5fc629}a{color:var(--primary)}.ico{display:inline-block;flex:none;vertical-align:-.14em}.ico .ico-fill{fill:transparent;transition:fill .15s}.num,.ant-statistic-content,.ant-table-cell[style*="text-align: right"],.ant-table-cell[style*="text-align: center"],.ant-descriptions-item-content{font-variant-numeric:tabular-nums}.num{font-family:var(--font-num);letter-spacing:-.005em}.numeric-value{white-space:nowrap;font-variant-numeric:tabular-nums}.pnl-up{color:var(--up)}.pnl-down{color:var(--down)}.pnl-flat{color:var(--text-2)}.strong{font-weight:500;color:var(--text)}.muted{color:var(--text-4)}.json-text{font-family:var(--font-mono);font-size:12px;word-break:break-all}.shell{display:flex;min-height:100vh}.sider{position:sticky;top:0;flex:none;width:var(--sider-w);height:100vh;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);z-index:30}.shell.is-narrow .sider{position:fixed;left:0;transform:translate(-100%);transition:transform .22s ease;box-shadow:none}.shell.is-narrow.is-open .sider{transform:none;box-shadow:0 16px 48px #10182829}.shell-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;background:#10182847}.brand{display:flex;align-items:center;gap:12px;padding:22px 22px 18px;text-decoration:none}.brand-text{display:flex;flex-direction:column}.brand-name{font-size:17px;font-weight:600;line-height:1.25;letter-spacing:.01em;color:var(--text)}.brand-sub{margin-top:2px;font-size:11px;font-weight:500;letter-spacing:.14em;color:var(--text-3)}.nav{flex:1;min-height:0;overflow-y:auto;padding:6px 12px 12px;display:flex;flex-direction:column;scrollbar-width:none}.nav-group+.nav-group{margin-top:18px}.nav-group.is-last{margin-top:auto;padding-top:16px;border-top:1px solid var(--border-soft)}.nav-title{padding:0 12px 8px;font-size:12px;font-weight:500;color:var(--text-3);letter-spacing:.04em}.nav-item{display:flex;align-items:center;gap:12px;height:42px;padding:0 14px;margin-bottom:2px;border-radius:9px;font-size:14.5px;color:var(--text);text-decoration:none;transition:background .15s,color .15s}.nav-item:hover{color:var(--text);background:var(--surface-3)}.nav-item .nav-ico{font-size:19px;color:var(--text-2);transition:color .15s}.nav-item.active{color:var(--primary);font-weight:600;background:var(--primary-soft)}.nav-item.active .nav-ico{color:var(--primary)}.nav-item.active .ico-fill{fill:currentColor}.nav-item.active .ico-fill+*,.nav-item.active .nav-ico{stroke-width:1.9}.user-card{display:flex;align-items:center;gap:12px;margin:0 12px 14px;padding:14px 12px 0;border:0;border-top:1px solid var(--border-soft);background:transparent;font:inherit;cursor:pointer;text-align:left}.user-card:hover .user-name{color:var(--primary)}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:18px;color:var(--text-2);background:var(--surface-3);border:1px solid var(--border)}.user-name{flex:1;font-size:14.5px;font-weight:500;color:var(--text);transition:color .15s}.user-caret{font-size:16px;color:var(--text-3)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-height:52px;box-sizing:border-box;padding:10px 28px;background:#ffffffdb;backdrop-filter:saturate(1.6) blur(12px);-webkit-backdrop-filter:saturate(1.6) blur(12px);border-bottom:1px solid var(--border)}.topbar-menu{margin-left:-8px;color:var(--text-2)!important}.crumbs{display:flex;align-items:center;min-width:0;font-size:13.5px;color:var(--text-3);white-space:nowrap;overflow:hidden}.crumb-sep{margin:0 10px;color:var(--text-4)}.crumb{color:var(--text-3)}.crumb-cur{color:var(--text);font-weight:500;overflow:hidden;text-overflow:ellipsis}.topbar-meta{margin-left:auto;display:flex;align-items:center;flex-wrap:wrap;gap:8px 0;min-width:0;max-width:100%;font-size:13px;color:var(--text-2);white-space:nowrap}.meta-item{display:inline-flex;align-items:center;box-sizing:border-box;max-width:100%;gap:7px;padding:0 16px;line-height:14px}.meta-item+.meta-item{border-left:1px solid var(--border)}.meta-item:last-child{padding-right:0}.meta-time{margin-left:8px;color:var(--text-3)}.content{flex:1;width:100%;max-width:1680px;box-sizing:border-box;padding:26px 28px 28px}.dot{position:relative;display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--text-4);flex:none}.dot.ok{background:var(--ok);box-shadow:0 0 0 3px #1e9e6424}.dot.warn{background:var(--warn);box-shadow:0 0 0 3px #d98a0b24}.dot.danger{background:var(--danger);box-shadow:0 0 0 3px #dc3d4b24}.dot.pulse:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:1px solid currentColor;opacity:0;animation:pulse 2.2s ease-out infinite}.dot.ok.pulse{color:var(--ok)}.dot.warn.pulse{color:var(--warn)}.dot.danger.pulse{color:var(--danger)}@keyframes pulse{0%{transform:scale(.6);opacity:.6}to{transform:scale(1.7);opacity:0}}.pill{display:inline-flex;align-items:center;justify-content:center;min-width:64px;padding:0 12px;height:24px;border-radius:999px;font-size:12.5px;font-weight:500;white-space:nowrap;cursor:default}.pill.ok{color:#178454;background:var(--ok-soft)}.pill.warn{color:#b9720a;background:var(--warn-soft)}.pill.danger{color:#c4303d;background:var(--danger-soft)}.pill.idle{color:var(--text-3);background:var(--surface-3)}.side{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;font-size:12px;font-weight:600}.side.long{color:var(--up);background:#fdeced}.side.short{color:var(--down);background:#e6f5ef}.page-header{display:flex;align-items:flex-start;gap:16px;margin:0 0 22px;flex-wrap:wrap}.page-header-main{min-width:0}.page-title{margin:0;font-size:26px;line-height:36px;font-weight:600;letter-spacing:.01em;color:var(--text)}.page-sub{margin-top:4px;color:var(--text-2);font-size:14px}.page-extra{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page-alert{margin-bottom:16px}.counter-wait.ant-alert{background:var(--surface-2, #f5f5f5);border-color:var(--border, #d9d9d9)}.counter-wait .ant-alert-icon{color:var(--text-3, #8c8c8c)}.meta-core{gap:10px;min-width:0}.meta-label{color:var(--text-3)}.core-pick{position:relative;display:inline-flex;min-width:0;max-width:100%}.core-select{min-width:168px;max-width:100%}.core-select.ant-select .ant-select-selector{height:32px!important;padding:0 12px!important;border-radius:var(--radius-sm)!important;background:var(--surface-2)!important;border-color:var(--border)!important;font-size:13.5px;font-weight:500}.core-select.ant-select:hover .ant-select-selector,.core-select.ant-select-focused .ant-select-selector{background:#fff!important;border-color:var(--primary)!important}.core-select.ant-select .ant-select-selection-item{line-height:30px!important;color:var(--text)}.core-opt{display:inline-flex;align-items:center;gap:9px}.core-pick-flag{position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 2px #fff;pointer-events:none}.kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1px;margin-bottom:var(--gutter);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.kpi{min-width:0;padding:22px 24px;background:var(--surface);box-shadow:0 0 0 1px var(--border-soft)}.kpi-l{font-size:13.5px;color:var(--text-2)}.kpi-v{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin-top:10px;font-size:34px;line-height:40px;font-weight:600;letter-spacing:-.02em;color:var(--text)}.metric-number{display:inline-block;max-width:100%;min-width:0;flex:none;white-space:nowrap;font-size:calc(1em * var(--number-scale, 1));line-height:1.2}.kpi-u{flex:none;font-size:13px;font-weight:500;color:var(--text-3)}.kpi-s{margin-top:6px;font-size:13px;color:var(--text-3);overflow-wrap:anywhere}.strategy-financials .kpi-v .pnl-up{color:var(--up)}.strategy-financials .kpi-v .pnl-down{color:var(--down)}.strategy-financials .kpi-v .pnl-flat{color:var(--text-2)}.macd-financials .kpi-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.macd-financials .kpi{padding:18px 20px}.macd-financials .kpi-v{font-size:28px}@media (max-width: 1399px){.macd-financials .kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 599px){.macd-financials .kpi-strip{grid-template-columns:minmax(0,1fr)}}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}.tile{--accent: var(--primary);height:100%;min-width:0;box-sizing:border-box;padding:18px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.tile-l{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-2);margin-bottom:10px}.tile-mark{width:6px;height:6px;border-radius:2px;background:var(--accent)}.tile-v{font-size:24px;font-weight:600;line-height:1.25;letter-spacing:-.01em;color:var(--text)}.tile-v.sm{font-size:15px;font-weight:500;letter-spacing:0}.tile-v.lg{font-size:32px;letter-spacing:-.02em}.tile-h{margin-top:6px;font-size:12.5px;color:var(--text-3)}.panel{display:flex;flex-direction:column;min-width:0;margin-bottom:var(--gutter);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panel-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-height:56px;padding:10px 20px;box-sizing:border-box;border-bottom:1px solid var(--border-soft)}.panel-t{margin:0;display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--text);min-width:0}.panel-t:before{content:"";width:3px;height:16px;flex:none;border-radius:2px;background:var(--primary)}.panel-x{margin-left:auto;display:flex;align-items:center;min-width:0;flex-wrap:wrap}.panel-b{flex:1;padding:8px 12px 12px}.panel-b.pad{padding:16px 20px 18px}.panel-note{padding:4px 20px 16px;font-size:12.5px;color:var(--text-3)}.panel-link{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--primary);text-decoration:none}.panel-link .ico{transition:transform .15s}.panel-link:hover{color:var(--primary-hover)}.panel-link:hover .ico{transform:translate(2px)}.panel-tools{display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:flex-end}.range-change{display:inline-flex;align-items:baseline;gap:10px;font-size:13px;color:var(--text-2)}.range-change b{font-size:16px;font-weight:600;color:var(--primary)}.range-change b .pnl-flat{color:var(--primary)}.ov-grid{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(0,1fr);gap:0 var(--gutter);align-items:stretch}.ov-grid>.panel{height:calc(100% - var(--gutter))}.chart-box{flex:1;display:flex;flex-direction:column;min-height:268px;padding:6px 8px 0 12px}.chart-box>.echarts-for-react{flex:1;min-height:268px}.ov-equity .panel-b{display:flex;flex-direction:column;padding-bottom:0}.chart-empty{height:268px;display:grid;place-items:center;color:var(--text-3);font-size:13px}.ov-runtime .panel-b.pad{padding:10px 20px 12px}.srows{display:flex;flex-direction:column}.srow{display:grid;grid-template-columns:minmax(96px,1.15fr) minmax(0,1fr);align-items:center;min-height:36px;border-bottom:1px solid var(--border-soft);font-size:13.5px}.srows .srow:last-child{border-bottom:0}.srow-k{color:var(--text-2)}.srow-v{display:inline-flex;align-items:center;gap:12px;min-width:0;color:var(--text);flex-wrap:wrap;overflow-wrap:anywhere}.dot-gap{width:7px;flex:none}.srows-title{margin:8px 0 2px;padding-top:12px;border-top:1px solid var(--border);font-size:13.5px;font-weight:600;color:var(--text)}.ev{display:inline-flex;gap:8px;align-items:baseline}.ev-kind{font-size:12.5px;color:var(--text-2)}.page-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:2px 2px 0;font-size:13px;color:var(--text-3)}.foot-link{display:inline-flex;align-items:center;gap:4px;color:var(--text-2);text-decoration:none}.foot-link:hover{color:var(--primary)}.empty-state{height:100%;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 16px 24px;text-align:center}.empty-t{margin-top:14px;font-size:15px;font-weight:500;color:var(--text)}.empty-h{margin-top:6px;font-size:13px;color:var(--text-3)}.ant-space,.ant-space-item,.ant-segmented{max-width:100%}.ant-space-item{min-width:0}.ant-segmented{overflow-x:auto}.ant-table-wrapper .ant-table{background:transparent}.ant-table-wrapper .ant-table-thead>tr>th{font-size:13px;font-weight:500;white-space:nowrap;border-bottom:0!important}.ant-table-wrapper .ant-table-tbody>tr>td{white-space:nowrap;color:var(--text)}.ant-table-wrapper .ant-table-tbody>tr>td .ant-typography{white-space:normal}.ant-table-wrapper .ant-table-tbody>tr:last-child>td{border-bottom:0}.ant-table-wrapper .ant-table-thead>tr>th:first-child,.ant-table-wrapper .ant-table-tbody>tr>td:first-child{padding-left:18px!important}.ant-table-wrapper .ant-table-thead>tr>th:last-child,.ant-table-wrapper .ant-table-tbody>tr>td:last-child{padding-right:18px!important}.ant-table-wrapper .ant-table-container table>thead>tr:first-child>*:first-child{border-start-start-radius:8px;border-end-start-radius:8px}.ant-table-wrapper .ant-table-container table>thead>tr:first-child>*:last-child{border-start-end-radius:8px;border-end-end-radius:8px}.ant-table-wrapper .ant-table-pagination.ant-pagination{margin:14px 8px 4px}.ant-empty-description{color:var(--text-3)}.ant-card{border-color:var(--border)!important;box-shadow:var(--shadow)}.ant-card+.ant-card{margin-top:var(--gutter)}.ant-card .ant-card-head{border-bottom-color:var(--border-soft)}.ant-card .ant-card-head-title{display:flex;align-items:center;gap:10px;font-weight:600}.ant-card .ant-card-head-title:before{content:"";flex:none;width:3px;height:16px;border-radius:2px;background:var(--primary)}.ant-card-small .ant-card-head{min-height:48px}.ant-card-small .ant-card-head-title{font-size:15px}.ant-tabs-top>.ant-tabs-nav:before{border-bottom-color:var(--border)!important}.ant-tabs .ant-tabs-tab{padding:10px 2px 12px}.ant-tabs .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{font-weight:600}.ant-tabs .ant-tabs-ink-bar{height:2.5px!important;border-radius:2px 2px 0 0}.ant-alert{border-radius:10px;align-items:center}.ant-alert-with-description{align-items:flex-start}.ant-descriptions-bordered .ant-descriptions-view{border-radius:10px}.ant-descriptions-bordered .ant-descriptions-item-label{color:var(--text-2);font-weight:400}.ant-tag{border-color:transparent;border-radius:6px;padding-inline:8px;font-size:12.5px;line-height:22px}.ant-segmented{border-radius:8px}.ant-segmented .ant-segmented-item{border-radius:6px}.ant-segmented .ant-segmented-item-label{padding:0 16px;font-weight:500}.ant-segmented-sm .ant-segmented-item-label{min-height:28px;line-height:28px;padding:0 18px;font-size:13.5px}.ant-btn{font-weight:500}.ant-input-affix-wrapper,.ant-input,.ant-select .ant-select-selector,.ant-picker{border-radius:8px!important}.ant-dropdown .ant-dropdown-menu{padding:6px;border-radius:10px}.ant-dropdown .ant-dropdown-menu-item{padding:8px 12px!important;border-radius:6px!important;gap:2px}.ant-progress-steps-item{border-radius:1px}.mono-pre{font-family:var(--font-mono);font-size:12px;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:8px;padding:12px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.equity-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.equity-history-note{color:var(--text-3);font-size:12px;line-height:1.7;margin:0 0 18px}.equity-history-meta{margin-top:0}.equity-history-chart{min-width:0}@media (max-width: 1100px){.equity-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.equity-toolbar .ant-segmented{max-width:100%}.equity-stats{grid-template-columns:minmax(0,1fr)}}.meta-line{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;margin:-6px 0 18px;font-size:13px;color:var(--text-2)}.meta-line>span{display:inline-flex;align-items:center;gap:8px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:16px;background:radial-gradient(1000px 520px at 12% -10%,rgba(59,130,246,.1),transparent 60%),radial-gradient(900px 520px at 100% 110%,rgba(31,95,198,.08),transparent 60%),var(--bg)}.login-card{width:100%;max-width:400px;box-sizing:border-box;padding:36px 34px 30px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 60px #10182814,0 2px 6px #1018280a}.login-card .brand{padding:0 0 8px}.login-title{margin:18px 0 4px;font-size:20px;font-weight:600}.login-sub{margin-bottom:24px;font-size:13.5px;color:var(--text-3)}.login-card .ant-input-prefix{margin-inline-end:10px;color:var(--text-3)}.login-card .ant-input-prefix .ico{font-size:18px}.login-foot{margin-top:18px;text-align:center;font-size:12.5px;color:var(--text-3)}.row-link{cursor:pointer}.row-go{color:var(--text-4);font-size:16px;transition:color .15s,transform .15s}.row-link:hover .row-go{color:var(--primary);transform:translate(2px)}.panel-hint{font-size:12.5px;color:var(--text-3)}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12.5px;word-break:break-all}.ov-mandate .panel-b.pad{padding:4px 20px 6px}.facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 32px}.fact{padding:13px 0;border-bottom:1px solid var(--border-soft);min-width:0}.fact.wide{grid-column:1 / -1;border-bottom:0}.fact-k{font-size:12.5px;color:var(--text-3);margin-bottom:6px}.fact-v{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-size:14px;color:var(--text);min-width:0}.fact-tag{display:inline-flex;align-items:center;gap:8px;margin-right:14px;font-weight:500}.page-tabs>.ant-tabs-nav{margin-bottom:20px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.chip{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--text-2);font:inherit;font-size:12.5px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.chip .num{color:var(--text-3)}.chip:hover{border-color:var(--primary);color:var(--primary)}.chip.on{background:var(--primary-soft);border-color:transparent;color:var(--primary);font-weight:500}.chip.on .num{color:var(--primary)}.pager{display:inline-flex;gap:6px}@media (max-width: 1279px){.ov-grid{grid-template-columns:minmax(0,1fr)}.ov-grid>.panel{height:auto}.kpi-v{font-size:28px}}@media (max-width: 991px){.topbar{padding:10px 16px}.content{padding:20px 16px 24px}.kpi{padding:16px 20px}}@media (max-width: 575px){:root{--gutter: 14px}.page-title{font-size:22px;line-height:30px}.page-extra{margin-left:0;width:100%}.core-select{min-width:132px}.kpi-v{font-size:26px}.panel-h{flex-wrap:wrap}.ov-equity .panel-x{margin-left:0;width:100%}.panel-tools{justify-content:space-between;width:100%}}.panel .ant-table-placeholder .ant-empty-normal{margin:10px 0}.panel .ant-table-placeholder .ant-empty-image{height:28px;margin-bottom:4px}.tr-note{color:var(--text-3);font-size:12.5px}.tr-warn{color:var(--warn)}.tr-tab-tag{margin-left:8px}.tr-attn{margin-bottom:16px;padding:12px 16px;border:1px solid var(--border);border-left:3px solid var(--warn);border-radius:var(--radius-sm);background:var(--surface)}.tr-attn-h{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;margin-bottom:4px}.tr-attn-item{padding:6px 0;border-top:1px solid var(--border-soft)}.tr-attn-item summary{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;cursor:pointer}.tr-attn-impact{color:var(--text-2)}.tr-attn-more{margin-left:auto;color:var(--primary);font-size:12.5px}.tr-filters{margin-bottom:12px}.tr-filter-row{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:flex-end;margin-bottom:6px}.tr-field{display:inline-flex;flex-direction:column;gap:2px;color:var(--text-2);font-size:12.5px}.tr-date{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.tr-scope{margin-top:6px}.tr-summary{margin:8px 0 2px;font-size:15px;font-weight:500}.tr-status{margin:4px 0 10px;color:var(--text-3);font-size:12.5px}.tr-new{display:block;width:100%;margin:4px 0 10px;padding:8px 12px;border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--primary);font:inherit;cursor:pointer}.tr-pager{display:flex;gap:12px;align-items:center;justify-content:center;margin:16px 0}.tr-row{cursor:pointer}.tr-sub-sm{display:none;color:var(--text-3);font-size:12.5px}.ev-list{margin:0;padding:0;list-style:none;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.ev-list>li+li{border-top:1px solid var(--border-soft)}.ev-row{display:grid;grid-template-columns:108px minmax(0,1fr) auto;gap:12px;padding:12px 16px;cursor:pointer;border-left:3px solid transparent}.ev-row:hover,.ev-row:focus-visible{background:var(--surface-2);outline:none}.ev-row:focus-visible{box-shadow:inset 0 0 0 2px var(--primary)}.ev-row.sev-critical{border-left-color:var(--danger)}.ev-row.sev-notice{border-left-color:var(--warn)}.ev-time{color:var(--text-2)}.ev-main{display:flex;flex-direction:column;gap:2px;min-width:0}.ev-title{font-weight:500}.ev-scope{color:var(--text-3);font-size:12.5px}.ev-impact{display:-webkit-box;overflow:hidden;color:var(--text-2);-webkit-line-clamp:2;-webkit-box-orient:vertical}.ev-tags{display:flex;flex-wrap:wrap;gap:4px;align-items:flex-start;justify-content:flex-end}.ev-tags .ant-tag{margin-inline-end:0}.ev-open{color:var(--primary);font-size:12.5px;line-height:22px}.tr-headline{margin:0 0 12px;font-size:16px;font-weight:500}.tr-block{margin:16px 0}.tr-block h3{margin:0 0 4px;font-size:13px;color:var(--text-3);font-weight:500}.tr-block p{margin:0}.tr-facts{margin:12px 0}.tr-fact{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px;padding:4px 0;border-bottom:1px solid var(--border-soft)}.tr-fact dt{color:var(--text-3)}.tr-fact dd{margin:0;overflow-wrap:anywhere}.tr-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.tr-tech{margin-top:20px;padding-top:12px;border-top:1px solid var(--border)}.tr-tech summary{cursor:pointer;color:var(--text-2)}.tr-tech-item{margin-top:8px}.tr-tech-head code{margin-right:6px;overflow-wrap:anywhere}.tr-pre{max-height:280px;margin:4px 0 0;padding:8px;overflow:auto;border-radius:var(--radius-sm);background:var(--surface-3);font:12px/1.5 var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere}.fc-list{margin:0;padding:0;list-style:none;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.fc-list>li+li{border-top:1px solid var(--border-soft)}.fc-row{display:flex;flex-direction:column;gap:2px;padding:10px 12px;cursor:pointer}.fc-top,.fc-mid{display:flex;gap:12px;align-items:baseline;justify-content:space-between}.fc-mid{justify-content:flex-start}.fc-mid>:last-child{margin-left:auto}.fc-sub{color:var(--text-3);font-size:12.5px}@media (max-width: 767px){.tr-sub-sm{display:block}.ev-row{grid-template-columns:minmax(0,1fr);gap:4px}.ev-tags{justify-content:flex-start}.tr-fact{grid-template-columns:minmax(0,1fr);gap:0}}.tr-timeline{margin:4px 0 0;padding:0;list-style:none}.tr-timeline li{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;border-left:2px solid var(--border);padding:3px 0 3px 10px}.tr-timeline li.ok{border-left-color:var(--ok)}.tr-timeline li.warn{border-left-color:var(--warn)}.tr-tl-time{color:var(--text-3)}.tr-times{margin:4px 0 0;padding-left:18px}.tr-recent{margin-bottom:16px}.tr-recent-list{margin:0;padding:0;list-style:none}.tr-recent-list li{display:flex;gap:12px;align-items:baseline;padding:6px 0;border-top:1px solid var(--border-soft);cursor:pointer}.tr-recent-list li:first-child{border-top:0}.tr-recent-list .num{flex:none;color:var(--text-3)}.tr-raw-tables>summary{margin-bottom:12px;cursor:pointer;color:var(--text-2)}.tr-alert-list{margin:4px 0 0;padding:0;list-style:none}.tr-alert-list li{padding:4px 0}.fl-runbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;margin-bottom:16px;padding:9px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px}.fl-runbar.stale{border-color:var(--danger);background:var(--danger-soft)}.fl-runbar>span{display:inline-flex;align-items:center;white-space:nowrap}.fl-k{margin-right:8px;color:var(--text-3)}.fl-attention-list{margin:2px 0 0;padding:0;list-style:none}.fl-attention-list li{padding:2px 0}.fl-attention details>summary{cursor:pointer;color:var(--text-2)}.fl-kpis .kpi-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.fl-kpis .kpi{padding:18px 20px}.fl-kpis .kpi-v{font-size:28px}.fl-note p{margin:8px 0 0;color:var(--text-2)}.fl-desc .ant-descriptions-item-label{white-space:nowrap}.fl-tag{margin-left:4px;margin-inline-end:0;font-size:11.5px;line-height:18px}.fl-product{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:0 4px}.fl-help{cursor:help;border-bottom:1px dotted var(--text-4)}.fl-recon{padding:10px 16px 12px;border-top:1px solid var(--border-soft)}.fl-recon>summary{cursor:pointer;color:var(--text-2)}.fl-recon>summary .ant-tag{margin:0 8px 0 2px}.fl-recon .ant-table-wrapper{margin:8px 0 6px}.fl-empty{padding:14px 16px;color:var(--text-3)}.fl-sub{margin:14px 16px 6px;font-weight:500;color:var(--text-2)}.fl-exits{border-top:1px solid var(--border-soft)}.fl-history{padding-bottom:8px;border-top:1px solid var(--border-soft)}.fl-link+.fl-link{margin-left:8px}.fl-tech{margin-top:4px}.fl-tech .fl-desc{margin-bottom:16px}.fl-ids{margin-top:12px}.fl-model-note{margin:0 0 12px}.fl-radar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:var(--gutter)}.fl-card.panel{margin-bottom:0;padding:16px 18px;display:flex;flex-direction:column;gap:10px}.fl-card.active{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.fl-card-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;font-size:15px}.fl-card-c{margin-left:auto;font-size:12.5px;color:var(--text-3)}.fl-dl{display:grid;grid-template-columns:64px minmax(0,1fr);gap:6px 10px;margin:0;flex:1}.fl-dl dt{color:var(--text-3);font-size:12.5px;line-height:22px}.fl-dl dd{margin:0;min-width:0;line-height:22px}.fl-stage.candidate,.fl-stage.deferred{color:var(--text);font-weight:500}.fl-stage.none,.fl-stage.missing{color:var(--text-3)}.fl-card .ant-btn{align-self:flex-start}@media (max-width: 1359px){.fl-radar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 1279px){.fl-kpis .kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 575px){.fl-kpis .kpi-strip,.fl-radar{grid-template-columns:minmax(0,1fr)}.fl-runbar{gap:6px 14px}}.notification-bell{flex-shrink:0;color:var(--text)}.notification-drawer .ant-drawer-body{padding:16px 20px}.notification-intro{color:var(--text-3);font-size:12px;margin-bottom:12px}.notification-alert{margin-bottom:12px}.notification-settings{border:1px solid var(--border, #e5e7eb);border-radius:8px;padding:10px 12px;margin-bottom:16px}.notification-settings summary{cursor:pointer;font-weight:600}.notification-settings summary span{color:var(--text-3);font-weight:400;font-size:12px;margin-left:12px}.notification-setting{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0}.notification-setting>div{display:flex;gap:6px}.notification-subscriptions{display:flex;flex-wrap:wrap;gap:8px}.notification-settings p,.notification-footnote{color:var(--text-3);font-size:12px;line-height:1.7}.notification-filters{display:flex;gap:10px;margin-bottom:14px}.notification-views{margin-bottom:14px}.notification-filters .ant-select{min-width:0;flex:1}.notification-list{list-style:none;margin:0;padding:0}.notification-item{border:1px solid var(--border, #e5e7eb);border-radius:8px;margin-bottom:12px;padding:12px;overflow-wrap:anywhere}.notification-item.is-unread{background:#f0f7ff;border-color:#d3e5ff}.notification-item-meta{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--text-3)}.notification-item-meta>span:first-child{min-width:0}.notification-item-meta>span:last-child{flex-shrink:0}.notification-item-title{font-weight:600;margin-top:8px}.notification-item p{font-size:13px;line-height:1.7;margin:7px 0}.notification-item time{font-size:11px;color:var(--text-3)}.notification-item-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:7px}@media (max-width: 575px){.notification-drawer .ant-drawer-body{padding:14px}.notification-setting{flex-wrap:wrap}}.client-shell{min-height:100vh;background:var(--bg)}.client-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 28px;background:var(--surface);border-bottom:1px solid var(--border)}.client-content{max-width:1440px;margin:0 auto;padding:32px 28px}.client-page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;flex-wrap:wrap}.client-account-picker{display:flex;align-items:center;gap:12px;color:var(--text-3)}.client-account-picker .ant-select{min-width:300px}@media (max-width: 600px){.client-header{padding:16px;gap:8px;flex-wrap:wrap}.client-content{padding:24px 16px}.client-account-picker{width:100%}.client-account-picker .ant-select{flex:1;min-width:0}}.review-markdown{min-width:0;color:var(--text);line-height:1.8;overflow-wrap:anywhere}.review-markdown>:first-child{margin-top:0}.review-markdown>:last-child{margin-bottom:0}.review-markdown :is(h1,h2,h3,h4,h5,h6){margin:1.3em 0 .6em;color:var(--text);font-weight:600;line-height:1.5}.review-markdown h1{font-size:22px}.review-markdown h2{font-size:18px}.review-markdown h3{font-size:16px}.review-markdown :is(h4,h5,h6){font-size:14px}.review-markdown :is(p,ul,ol,blockquote,pre,.review-markdown-table){margin:0 0 1em}.review-markdown :is(ul,ol){padding-left:1.8em}.review-markdown li+li{margin-top:.35em}.review-markdown li>:last-child{margin-bottom:0}.review-markdown blockquote{padding:8px 14px;border-left:3px solid var(--border);color:var(--text-2);background:var(--surface-2)}.review-markdown blockquote>:last-child{margin-bottom:0}.review-markdown code{padding:2px 5px;border-radius:4px;background:var(--surface-3);font-family:var(--font-mono);font-size:.9em}.review-markdown pre{max-width:100%;padding:12px 14px;overflow-x:auto;border-radius:var(--radius-sm);background:var(--surface-2);white-space:pre;overflow-wrap:normal}.review-markdown pre code{padding:0;background:transparent}.review-markdown-table{max-width:100%;overflow-x:auto}.review-markdown table{width:100%;border-collapse:collapse}.review-markdown :is(th,td){min-width:80px;padding:8px 12px;border:1px solid var(--border)}.review-markdown th{font-weight:600;background:var(--surface-2)}.review-markdown hr{margin:1.4em 0;border:0;border-top:1px solid var(--border)}.contract-name{display:block;font-size:12px;line-height:1.5;opacity:.8;font-weight:400}
