:root{font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:#f5f7fb;overflow-x:hidden}.login-shell{background:#f5f7fb;place-items:center;gap:14px;min-height:100vh;padding:24px;display:grid}.login-panel{background:#fff;border:1px solid #e6e9f2;border-radius:8px;width:min(420px,100%);padding:36px;box-shadow:0 16px 44px #2b375c1f}.login-logo{border-radius:8px;width:44px;height:44px;margin-bottom:22px;display:block}.login-panel .ant-typography{margin-top:0}.login-panel .ant-alert{margin:18px 0}.login-panel form{margin-top:26px}.login-boundary{text-align:center;margin-top:22px;font-size:12px;display:block}.logout-button{z-index:10;width:34px;height:34px;position:fixed;top:15px;right:16px}.app-shell{min-height:100vh}.app-shell>.ant-layout{min-width:0}.app-sider{z-index:3;border-right:1px solid #e6e9f2;height:100vh;top:0;box-shadow:4px 0 20px #b4bddd1f;position:sticky!important}.brand{align-items:center;gap:10px;height:72px;padding:0 18px;display:flex;overflow:hidden}.brand-icon{object-fit:cover;border-radius:7px;flex:none;width:32px;height:32px}.brand-copy{min-width:120px;line-height:1.25;display:grid}.brand-copy .ant-typography:first-child{color:#172033;letter-spacing:.01em;font-size:16px}.brand-copy .ant-typography:last-child{margin-top:2px;font-size:11px}.brand.collapsed{justify-content:center;padding-inline:0}.app-sider .ant-menu{padding:8px;border-inline-end:0!important}.profile-summary{text-align:left;border-top:1px solid #e6e9f2;align-items:center;gap:10px;min-width:0;padding:12px 10px;display:flex;position:absolute;bottom:8px;left:8px;right:8px}.profile-summary .ant-avatar{color:#2554fe;background:#ebf1fc;flex:none;font-weight:700}.profile-summary>div{text-align:left;min-width:0;line-height:1.3;display:grid}.profile-summary .ant-typography{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-summary strong{font-size:13px}.profile-meta{margin-top:2px;font-size:11px}.profile-summary.collapsed{justify-content:center;padding-inline:0;left:8px;right:8px}.app-header{z-index:2;border-bottom:1px solid #e6e9f2;height:64px;padding:0 24px;position:sticky;top:0;box-shadow:0 4px 16px #b4bddd1f}.shadow-source-select{width:260px;max-width:42vw}.rule-presentation-summary.unavailable{color:#8c5a00}.compact-list{margin:0;padding-left:20px}.app-content{width:100%;max-width:1440px;margin:0 auto;padding:28px}.full-width{width:100%}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.stat-grid .ant-card,.app-content>.ant-space>.ant-card{box-shadow:0 10px 30px #6184ff14,0 2px 8px #b4bddd1f}.portfolio-toolbar{align-items:center;gap:14px;min-width:0;padding-bottom:2px;display:flex}.portfolio-toolbar .ant-select{width:min(360px,100%)}.report-snapshot-card .ant-card-body{padding:18px 20px}.report-snapshot-card .ant-typography{margin:0}.report-snapshot-meta>div{gap:3px;min-width:120px;display:grid}.report-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.report-stat-grid .ant-card{box-shadow:none;border-color:#e6e9f2}.report-filter-toolbar{padding:4px 0}.report-filter-toolbar .campaign-type-filter{width:170px}.report-filter-toolbar .operator-status-filter{width:150px}.campaign-role-select{width:100%;min-width:180px}.lineage-heading{justify-content:space-between;align-items:baseline;gap:12px;margin:20px 0 10px;display:flex}.lineage-resolution{align-items:center;gap:8px;display:flex}.lineage-resolution .ant-select{min-width:170px}.migration-route-form{grid-template-columns:minmax(180px,1fr) minmax(150px,1fr) auto minmax(180px,1fr) minmax(150px,1fr);align-items:center;gap:10px;margin:18px 0;display:grid}.migration-route-arrow{color:#98a0b3;text-align:center}.migration-route-table{margin-top:8px}.migration-summary{background:#f8f9ff;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;padding:14px 16px;display:grid}.rule-groups{gap:18px;display:grid}.rule-group{background:#fff;border:1px solid #e6e9f2;border-radius:10px;overflow:hidden}.rule-group-heading{background:#f8f9ff;border-bottom:1px solid #e6e9f2;align-items:baseline;gap:12px;padding:14px 16px;display:flex}.rule-group-heading .ant-typography{margin:0}.rule-operation-section{gap:8px;padding:14px 16px 16px;display:grid}.rule-operation-section+.rule-operation-section{border-top:1px solid #eef0f6}.rule-operation-section .ant-table-wrapper{min-width:0;max-width:100%}.rule-operation-section .ant-table-container{overflow:hidden}.rule-logic-column{min-width:0}.rule-logic-summary{gap:4px;min-width:0;display:grid}.rule-logic-summary .ant-typography{white-space:pre-line;overflow-wrap:anywhere;word-break:break-word;min-width:0;margin:0;display:block}.authoring-preview-card{margin-top:16px}.rule-business-fields{margin-top:14px}.rule-business-fields .ant-table-cell{vertical-align:top;overflow-wrap:anywhere}.rule-field-controls{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;width:100%;display:grid}.rule-field-controls .ant-form-item{background:#f5f8ff;border-left:3px solid #1677ff;min-width:0;margin-bottom:0;padding:10px 12px}.rule-id-info{color:#98a0b3;cursor:help;font-size:13px;transition:color .15s}.rule-id-info:hover,.rule-id-info:focus-visible{color:#2554fe;outline:none}.rule-logic-tooltip{gap:5px;max-width:360px;display:grid}.rule-logic-tooltip .ant-typography{color:inherit}.rule-logic-tooltip-title{margin-bottom:3px}.rule-edit-button{padding-inline:4px}.rule-agent-messages{gap:10px;max-height:360px;display:grid;overflow:auto}.rule-effective-parameter{margin-top:4px;display:block}.rule-agent-message{background:#f5f7fb;border-radius:8px;gap:3px;padding:10px 12px;display:grid}.rule-agent-message.user{background:#eef4ff;margin-left:48px}.rule-agent-message.assistant{margin-right:48px}.rule-business-logic{margin-top:12px}.rule-result-text{font-weight:500}.rule-result-text.triggered{color:#2554fe}.rule-result-text.insufficient{color:#ad6800}.rule-result-text.blocked{color:#d46b08}.rule-result-text.neutral{color:#737b8c}.rule-result-text.default{color:#172033}.conclusion-info-button{color:#98a0b3;width:22px;min-width:22px;height:22px;padding:0}.conclusion-info-button:hover,.conclusion-info-button:focus-visible{color:#2554fe!important;background:0 0!important}.rule-presentation-summary{color:#596174;gap:4px;font-size:13px;line-height:1.5;display:grid}.rule-presentation-summary>div{overflow-wrap:anywhere}.evidence-dataset>.ant-typography{margin:4px 0 0}.evidence-record-detail{padding:8px 12px 12px}.evidence-record-detail>div>.ant-typography{margin-bottom:8px;display:inline-block}.campaign-collapse{background:0 0;border:0}.campaign-collapse>.ant-collapse-item{background:#fff;border:1px solid #e6e9f2;margin-bottom:14px;overflow:hidden;box-shadow:0 8px 24px #6184ff0f;border-radius:12px!important}.campaign-collapse>.ant-collapse-item>.ant-collapse-header{align-items:center!important;padding:16px 18px!important}.campaign-collapse .ant-collapse-content{border-top:1px solid #eef0f6}.campaign-collapse .ant-collapse-content-box{padding:16px!important}.small-text{overflow-wrap:anywhere;max-width:230px;font-size:11px}.ant-table-cell .ant-typography code,.ant-descriptions .ant-typography code{font-size:12px}.mobile-navigation .ant-menu{border-inline-end:0!important}.mobile-navigation .profile-summary{margin-top:28px;position:static}.draft-publish-row{margin-top:16px}.preserve-lines{white-space:pre-line}@media (width<=1000px){.stat-grid,.report-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.migration-route-form{grid-template-columns:1fr 1fr}.migration-route-arrow{display:none}}@media (width<=600px){.app-sider{display:none}.app-header{padding:0 12px}.app-header .ant-breadcrumb{display:none}.app-content{min-width:0;padding:16px 12px 28px}.portfolio-toolbar{flex-direction:column;align-items:flex-start;gap:6px}.portfolio-toolbar .ant-select{width:100%}.stat-grid,.report-stat-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-grid .ant-card-body,.report-stat-grid .ant-card-body{padding:16px}.report-snapshot-meta{width:100%}.ant-drawer-content-wrapper{width:100%!important}.ant-card-head{align-items:flex-start}.app-content .ant-card-head-wrapper{flex-direction:column;align-items:flex-start;gap:8px;padding-block:10px}.app-content .ant-card-extra{overflow-wrap:anywhere;max-width:100%;margin-inline-start:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
