:root{--gx-primary: #4f46e5;--gx-primary-hover: #4338ca;--gx-primary-soft: #eef2ff;--gx-bg-page: #f7f8fc;--gx-bg-panel: #ffffff;--gx-bg-soft: #f2f4f7;--gx-bg-sidebar: #ffffff;--gx-bg-sidebar-strong: #eef2ff;--gx-text-primary: #1f2937;--gx-text-secondary: #667085;--gx-text-muted: #98a2b3;--gx-border: #e6e9f2;--gx-border-soft: #f0f2f7;--gx-success: #12b76a;--gx-success-soft: #ecfdf3;--gx-warning: #f79009;--gx-warning-soft: #fff7ed;--gx-danger: #f04438;--gx-danger-soft: #fff1f1;--gx-radius-sm: 8px;--gx-radius-md: 10px;--gx-radius-lg: 14px;--gx-radius-xl: 18px;--gx-radius-pill: 999px;--gx-shadow-soft: 0 10px 30px rgba(15, 23, 42, .06);--gx-shadow-card: 0 8px 24px rgba(15, 23, 42, .05);--gx-font-sans: "Inter", "Noto Sans SC", system-ui, sans-serif;--bg-page: var(--gx-bg-page);--bg-panel: var(--gx-bg-panel);--bg-elevated: var(--gx-bg-panel);--bg-sidebar: var(--gx-bg-sidebar);--bg-sidebar-strong: var(--gx-bg-sidebar-strong);--bg-muted: var(--gx-bg-soft);--text-primary: var(--gx-text-primary);--text-secondary: var(--gx-text-secondary);--text-tertiary: var(--gx-text-muted);--border-soft: var(--gx-border);--border-strong: var(--gx-border-soft);--accent-primary: var(--gx-primary);--accent-primary-hover: var(--gx-primary-hover);--accent-soft: var(--gx-primary-soft);--danger: var(--gx-danger);--danger-soft: var(--gx-danger-soft);--success: var(--gx-success);--success-soft: var(--gx-success-soft);--warning: var(--gx-warning);--warning-soft: var(--gx-warning-soft);--radius-card: var(--gx-radius-xl);--radius-control: var(--gx-radius-lg);--radius-pill: var(--gx-radius-pill);--shadow-soft: var(--gx-shadow-soft);--shadow-subtle: var(--gx-shadow-card);--font-sans: var(--gx-font-sans);font-family:var(--gx-font-sans);color:var(--gx-text-primary);background:var(--gx-bg-page);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;font-family:var(--gx-font-sans)}body{background:radial-gradient(circle at top left,rgba(79,70,229,.08),transparent 24%),radial-gradient(circle at bottom right,rgba(67,56,202,.06),transparent 28%),var(--gx-bg-page);color:var(--gx-text-primary)}a{color:var(--gx-primary)}.ant-typography,.ant-btn,.ant-input,.ant-select,.ant-menu,.ant-tag,.ant-form,.ant-drawer,.ant-modal{font-family:var(--gx-font-sans)}.ant-typography h1,.ant-typography h2,.ant-typography h3,.ant-typography h4,.ant-typography h5,.ant-typography h6,.page-container__title.ant-typography,.app-brand__title,.auth-hero__title.ant-typography{letter-spacing:-.02em}.ant-typography{color:var(--gx-text-primary)}.ant-typography.ant-typography-secondary,.ant-typography .ant-typography-secondary,.ant-typography-caption,.ant-form-item-explain,.ant-form-item-extra{color:var(--gx-text-secondary)!important}.ant-btn{font-weight:600;box-shadow:none}.ant-btn-primary{background:var(--gx-primary);border-color:var(--gx-primary)}.ant-btn-primary:not(:disabled):hover,.ant-btn-primary:not(:disabled):focus{background:var(--gx-primary-hover);border-color:var(--gx-primary-hover)}.ant-btn-default,.ant-btn-text,.ant-btn-link{color:var(--gx-text-primary)}.ant-btn-default{border-color:var(--gx-border);background:#ffffffeb}.ant-btn-default:not(:disabled):hover,.ant-btn-text:not(:disabled):hover{border-color:var(--gx-border);background:var(--gx-bg-soft);color:var(--gx-text-primary)}.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-select-selector,.ant-picker,.ant-input-textarea textarea{border-color:var(--gx-border)!important;background:#ffffffeb!important;box-shadow:inset 0 1px #ffffff73}.ant-input:focus,.ant-input-focused,.ant-input-affix-wrapper-focused,.ant-select-focused .ant-select-selector,.ant-picker-focused,.ant-input-number-focused{border-color:var(--gx-primary)!important;box-shadow:0 0 0 3px #4f46e51f!important}.ant-select-dropdown,.ant-dropdown,.ant-picker-dropdown,.ant-tooltip-inner{border-radius:18px}.ant-tag{border:1px solid transparent;font-weight:600;font-size:12px;line-height:20px;padding-inline:10px;border-radius:var(--gx-radius-pill)}.ant-card,.ant-drawer-content,.ant-modal-content,.auth-card,.section-card,.ant-card.stat-card,.stat-card-shell,.plugin-card{border:1px solid var(--gx-border)!important;box-shadow:var(--gx-shadow-soft)!important;background:#ffffffeb!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ant-card-head{border-bottom-color:#e6e9f2e6!important;min-height:64px}.ant-card-head-title,.ant-drawer-title,.ant-modal-title{font-weight:700;color:var(--gx-text-primary)}.ant-table-wrapper .ant-table{background:transparent}.ant-table-thead>tr>th{color:var(--gx-text-secondary)!important;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.ant-table-tbody>tr>td{border-bottom-color:#e6e9f2eb!important}.ant-alert{border:1px solid var(--gx-border)}.ant-alert-info{background:var(--gx-primary-soft)}.ant-alert-warning{background:var(--gx-warning-soft)}.ant-alert-error{background:#f8e7e3}.ant-empty-description{color:var(--text-secondary)!important}.gx-page-shell{background:var(--gx-bg-page)}.gx-surface{background:var(--gx-bg-panel);border:1px solid var(--gx-border);box-shadow:var(--gx-shadow-soft)}.gx-card{background:var(--gx-bg-panel);border:1px solid var(--gx-border)!important;border-radius:var(--gx-radius-xl)!important;box-shadow:var(--gx-shadow-card)!important}.gx-flow-card{background:linear-gradient(180deg,#fffffffa,#eef2ff94)!important;border:1px solid var(--gx-border)!important;box-shadow:var(--gx-shadow-soft)!important}.gx-step-card{background:linear-gradient(180deg,#eef2fff2,#fffffffa)!important;border:1px solid rgba(79,70,229,.18)!important}.gx-soft-panel{background:linear-gradient(180deg,#fffffffa,#f2f4f7eb)!important;border:1px solid var(--gx-border-soft)!important;box-shadow:var(--gx-shadow-card)!important}.gx-status-success{color:var(--gx-success)!important}.gx-status-warning{color:var(--gx-warning)!important}.gx-status-danger{color:var(--gx-danger)!important}.settings-summary-item{position:relative;overflow:hidden}.settings-summary-item__icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--gx-primary-soft);color:var(--gx-primary);flex-shrink:0}.settings-section-block{position:relative}.settings-section-block .ant-select .ant-select-selector,.settings-section-block .ant-input,.settings-section-block .ant-input-affix-wrapper{background:#fffffffa!important;border-color:var(--gx-border)!important}.gx-muted{color:var(--gx-text-secondary)!important}.app-shell{min-height:100vh;background:var(--gx-bg-page)}.app-shell__sider{border-inline-end:1px solid var(--gx-border)!important;background:var(--gx-bg-panel)!important;box-shadow:8px 0 24px #0f172a0a}.app-logo{padding:24px 18px 16px;min-height:92px}.app-brand{display:flex;gap:14px;color:var(--text-primary)}.app-brand--horizontal{align-items:center}.app-brand--vertical{flex-direction:column;align-items:center;text-align:center}.app-brand__logo{width:auto;max-width:100%;object-fit:contain;flex-shrink:0;border-radius:10px}.app-logo .app-brand__logo{width:32px;height:32px!important}.app-brand__text{display:flex;flex-direction:column;min-width:0}.app-brand__title{display:inline-flex;align-items:baseline;gap:8px;line-height:1.1;font-size:18px;font-weight:700;white-space:nowrap}.app-brand__title-main{font-size:inherit;font-weight:700}.app-brand__title-suffix{font-size:.82em;font-weight:600;letter-spacing:.02em;opacity:.9}.app-brand__subtitle{margin-top:4px;font-size:12px;color:var(--text-secondary);white-space:nowrap}.app-brand--compact .app-brand__title{font-size:16px}.app-brand--logo-only{justify-content:center}.rules-table__row--highlight>td{background:#f7efe2!important}.rules-table__row--highlight>td:first-child{box-shadow:inset 3px 0 0 var(--accent-primary)}.app-menu{border-inline-end:0!important;background:transparent!important;padding:8px 10px 14px}.app-menu .ant-menu-item{height:44px;line-height:44px;border-radius:var(--gx-radius-lg);margin-block:4px}.app-shell__header{height:72px;padding:0 24px;background:#fffffff0;border-bottom:1px solid var(--gx-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.app-shell__header-left{flex:1;min-width:0}.app-shell__search{width:min(320px,34vw)}.app-shell__search .ant-input-affix-wrapper{border-radius:var(--gx-radius-pill);background:var(--gx-bg-panel)!important}.app-shell__header .ant-space:last-child{flex-shrink:0}.app-shell__user{display:flex;flex-direction:column;gap:2px;line-height:1.2}.app-shell__user .ant-typography{margin:0}.app-shell__user .ant-typography:first-child{font-size:13px;font-weight:600;color:var(--text-primary)}.app-shell__user .ant-typography-secondary{font-size:12px;color:var(--text-secondary)!important}.app-shell__content{padding:24px;min-height:0;overflow:auto;background:var(--gx-bg-page)}.page-container{display:flex;flex-direction:column;flex:1;gap:24px;min-height:0;height:100%}.page-container__heading{min-width:0}.page-container__header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:8px}.page-container__title.ant-typography{margin:0;font-size:30px;line-height:1.08;color:var(--gx-text-primary)}.page-container__subtitle.ant-typography,.page-container__subtitle.ant-typography.ant-typography-secondary{color:var(--gx-text-secondary)!important}.page-container__extra{flex-shrink:0}.page-container__body{display:flex;flex-direction:column;flex:1;gap:18px;min-height:0}.section-card .ant-card-head,.ant-card.stat-card .ant-card-head,.stat-card-shell .ant-card-head,.plugin-card .ant-card-head{padding-inline:22px!important}.section-card__title .ant-typography{color:var(--gx-text-primary);font-size:15px;font-weight:700}.section-card .ant-card-body,.ant-card.stat-card .ant-card-body,.stat-card-shell .ant-card-body,.plugin-card .ant-card-body{padding:22px!important}.stat-card__value.ant-typography{margin:0;font-size:28px}.stat-card-shell{min-width:132px;min-height:104px;border-radius:var(--gx-radius-xl)!important;background:linear-gradient(180deg,#fffffffa,#f2f4f7f5)!important;position:relative;overflow:hidden}.stat-card-shell .ant-card-body{height:100%;display:flex;padding:18px 18px 16px!important}.stat-card-shell .ant-card-body>.stat-card{flex:1}.stat-card{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;height:100%;width:100%;text-align:left}.stat-label{color:var(--gx-text-secondary);font-size:12px;font-weight:600;letter-spacing:.02em}.stat-value{color:var(--gx-text-primary);font-size:30px;line-height:1.1;font-weight:700}.stat-hint{color:var(--gx-primary);font-size:12px;font-weight:600}.stat-label{color:var(--text-secondary);font-size:12px;line-height:1.2}.stat-value{display:flex;align-items:center;justify-content:center;color:var(--text-primary);font-size:32px;font-weight:600;line-height:1}.stat-hint{color:var(--text-secondary);font-size:12px;line-height:1.2}.empty-block{display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#fcfaf4f5,#f3ece2eb);border:1px dashed var(--border-strong);border-radius:20px}.thinking-loader{display:flex;align-items:center;justify-content:center;width:100%}.rule-lab-sample-list{display:flex;flex-direction:column;gap:12px}.rule-lab-sample-list__empty{min-height:220px;display:flex;align-items:center;justify-content:center}.rule-lab-sample-item{width:100%;padding:14px 16px;border:1px solid var(--gx-border-soft);border-radius:16px;background:linear-gradient(180deg,#fffffffa,#eef2ff9e);text-align:left;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.rule-lab-sample-item:hover{background:linear-gradient(180deg,#eef2fff2,#fffffffa);border-color:#4f46e53d;box-shadow:var(--gx-shadow-card);transform:translateY(-1px)}.rule-lab-sample-item__row{margin-bottom:10px}.rule-lab-sample-item__content.ant-typography,.rule-lab-sample-item__note.ant-typography{margin-bottom:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.rule-lab-sample-item__content.ant-typography{color:var(--text-primary);line-height:1.6}.rule-lab-sample-item__note.ant-typography{margin-top:8px;color:var(--text-secondary);font-size:12px;line-height:1.6}.u-min-width-zero{min-width:0}.u-break-anywhere{min-width:0;overflow-wrap:anywhere;word-break:break-word}.u-two-line-ellipsis{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;min-width:0;overflow-wrap:anywhere;word-break:break-word}.u-one-line-ellipsis{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.submission-queue-item{display:flex;min-height:164px;box-sizing:border-box;border-radius:var(--gx-radius-xl)}.queue-card{width:100%;height:100%;min-width:0;display:flex;flex-direction:column;gap:12px}.queue-card__content{min-width:0;flex:1;display:flex;flex-direction:column;gap:12px}.queue-card__header{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.queue-card__title-wrap{min-width:0;flex:1;display:flex;align-items:flex-start;gap:10px}.queue-card__title{min-width:0;flex:1;color:var(--gx-text-primary);font-size:15px;font-weight:600;line-height:1.45}.queue-card__time{flex-shrink:0;white-space:nowrap}.queue-card__body{min-width:0;flex:1;color:var(--gx-text-primary);line-height:1.6}.queue-card__footer{min-width:0;flex-shrink:0;margin-top:auto}.submission-detail__content{padding:18px;margin-bottom:12px;border-radius:var(--gx-radius-xl);background:linear-gradient(180deg,#fffffffa,#f2f4f7e6);border:1px solid var(--gx-border-soft);white-space:pre-wrap}.submission-detail__image{width:100%}.submission-detail__image .ant-image-img{border-radius:18px;object-fit:cover}.submission-detail__divider.ant-divider{margin:0}.submission-detail__json{margin:0;padding:16px;border-radius:18px;background:#1f2937;color:#f8fafc;overflow:auto;font-size:12px;line-height:1.6}.submission-batch-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.submission-stats__divider{color:var(--gx-border)}.submission-detail__timeline-time{margin:4px 0;color:var(--gx-text-muted);font-size:12px}.submission-detail__timeline-change{margin-top:6px;color:var(--gx-primary);font-size:12px}.ant-tag.ant-tag-red,.ant-tag.ant-tag-error{background:var(--gx-danger-soft);color:var(--gx-danger);border-color:transparent}.ant-tag.ant-tag-orange,.ant-tag.ant-tag-warning,.ant-tag.ant-tag-gold{background:var(--gx-warning-soft);color:var(--gx-warning);border-color:transparent}.ant-tag.ant-tag-green,.ant-tag.ant-tag-success{background:var(--gx-success-soft);color:var(--gx-success);border-color:transparent}.rules-preview__reason-list{margin:8px 0 0;padding-left:18px}.workbench-scroll{scrollbar-width:thin;scrollbar-color:rgba(107,104,96,.28) transparent}.workbench-scroll::-webkit-scrollbar{width:6px;height:6px}.workbench-scroll::-webkit-scrollbar-track{background:transparent}.workbench-scroll::-webkit-scrollbar-thumb{border-radius:999px;background:#6b686038;border:2px solid transparent;background-clip:padding-box}.workbench-scroll::-webkit-scrollbar-thumb:hover{background:#6b686052;border:2px solid transparent;background-clip:padding-box}.auth-page{min-height:100vh;padding:24px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:radial-gradient(circle at top,#6366f11a,#fff0 42%),linear-gradient(180deg,#f6f7ff,#f4f6fd)}.auth-page:before,.auth-page:after{content:"";position:absolute;inset:auto;border-radius:999px;filter:blur(40px);opacity:.7;pointer-events:none;animation:authGlow 14s ease-in-out infinite}.auth-page:before{width:360px;height:360px;top:12%;left:10%;background:#6366f129}.auth-page:after{width:300px;height:300px;right:12%;bottom:10%;background:#4f46e51a;animation-delay:-6s}.auth-shell{width:min(1100px,100%);display:grid;grid-template-columns:minmax(280px,1.05fr) minmax(360px,460px);gap:32px;align-items:stretch;position:relative;z-index:1}.auth-shell--single{width:min(100%,430px);display:flex;flex-direction:column;gap:18px;align-items:stretch}.auth-hero{display:flex;flex-direction:column;justify-content:space-between;padding:40px 36px;border-radius:30px;background:linear-gradient(180deg,#ffffffeb,#eef2ffc7),var(--bg-elevated);border:1px solid rgba(79,70,229,.12);box-shadow:var(--shadow-subtle)}.auth-hero__eyebrow{color:var(--text-tertiary);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.auth-hero__title.ant-typography{margin:14px 0 10px;font-size:clamp(36px,4vw,52px);line-height:.98}.auth-hero__body{max-width:30rem;color:var(--text-secondary);line-height:1.7}.auth-hero__notes{display:grid;gap:12px}.auth-hero__note{padding:14px 16px;border-radius:18px;background:#ffffffb8;border:1px solid rgba(79,70,229,.12);color:var(--text-secondary)}.auth-brand{gap:10px}.auth-brand .app-brand__title{font-size:clamp(30px,5vw,40px);line-height:1.02}.auth-brand .app-brand__title-suffix{font-size:.64em}.auth-brand .app-brand__logo{width:52px;height:52px!important;border-radius:12px}.auth-brand .app-brand__subtitle{margin-top:6px}.auth-card{width:100%;align-self:center;border-radius:30px!important;animation:authCardEnter .42s cubic-bezier(.22,1,.36,1)}.auth-card .ant-card-body{padding:34px}.auth-card__header{margin-bottom:22px}.auth-card__title.ant-typography{margin:0 0 6px;font-size:28px}.auth-card__footer{margin-top:20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.auth-card .ant-form-item{margin-bottom:18px}.auth-card .ant-checkbox-wrapper{color:var(--text-secondary)}@keyframes authGlow{0%,to{transform:translateZ(0) scale(1);opacity:.58}50%{transform:translate3d(12px,-10px,0) scale(1.08);opacity:.82}}@keyframes authCardEnter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes softRise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-container__header,.section-card,.ant-card.stat-card,.stat-card-shell,.plugin-card,.auth-card,.auth-hero{animation:softRise .26s ease-out}@media (max-width: 1200px){.auth-shell{grid-template-columns:1fr}.auth-hero{min-height:320px}}@media (max-width: 991px){.app-shell__header{padding:0 16px;gap:10px}.app-shell__content{padding:16px}.app-shell__search{display:none}.page-container__header{flex-direction:column;align-items:stretch}.stat-card-shell{min-width:88px;height:82px}.page-container__title.ant-typography{font-size:28px}.auth-shell--single{width:min(100%,420px)}}@media (max-width: 768px){.auth-page{padding:16px}.auth-hero{padding:28px 24px}.auth-card .ant-card-body{padding:24px}}
