.page{max-width:100%}.page__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.page__title{margin:0!important;font-size:18px!important;font-weight:600!important;color:var(--text-primary)!important}.page__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page__card{margin-bottom:16px}.page__card:last-child{margin-bottom:0}.page__toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.page__toolbar+.ant-table-wrapper{margin-top:0}.page__toolbar-spacer{flex:1}.page__stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}@media(max-width:1200px){.page__stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:576px){.page__stat-grid{grid-template-columns:1fr}}.page__chart-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px}@media(max-width:1024px){.page__chart-grid{grid-template-columns:1fr}}.tag-bar{display:flex;align-items:center;gap:8px;margin-bottom:10px}.tag-bar:last-child{margin-bottom:0}.tag-bar__label{width:80px;flex-shrink:0;text-align:center}.tag-bar__count{width:48px;flex-shrink:0;font-size:13px;color:var(--text-tertiary)}.tag-bar__track{flex:1;height:6px;background:var(--divider-color, rgba(128, 128, 128, .12));border-radius:3px;overflow:hidden}.tag-bar__fill{height:100%;border-radius:3px;min-width:2px;transition:width .3s cubic-bezier(.16,1,.3,1)}.page__loading{display:flex;align-items:center;justify-content:center;padding:80px 0}.page__form{max-width:100%}.page__form-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 24px}:root{--accent-emerald: #10b981;--accent-emerald-hover: #059669;--accent-emerald-light: #d1fae5;--accent-emerald-bg: #ecfdf5;--accent-rose: #e11d48;--accent-amber: #d97706;--surface-card: #ffffff;--bg-canvas: #f8fafc;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #94a3b8;--border-subtle: rgba(0, 0, 0, .06);--shadow-diffusion: 0 20px 40px -15px rgba(0, 0, 0, .05);--shadow-diffusion-hover: 0 24px 48px -12px rgba(0, 0, 0, .08)}.page .ant-card,.content-area .ant-card,.dashboard .ant-card{border-radius:16px!important;border:1px solid var(--border-subtle)!important;box-shadow:var(--shadow-diffusion)!important;transition:all .3s cubic-bezier(.16,1,.3,1)!important;overflow:hidden}.page .ant-card:hover,.content-area .ant-card:hover,.dashboard .ant-card:hover{box-shadow:var(--shadow-diffusion-hover)!important;transform:translateY(-1px)}.page .ant-card:active,.content-area .ant-card:active,.dashboard .ant-card:active{transform:scale(.99)}.page .ant-card .ant-card-head,.dashboard .ant-card .ant-card-head{border-bottom-color:var(--border-subtle)!important;padding:16px 20px 0!important;min-height:44px}.page .ant-card .ant-card-head-title,.dashboard .ant-card .ant-card-head-title{font-size:14px;font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.page .ant-card .ant-card-extra,.dashboard .ant-card .ant-card-extra{padding:0}.page .ant-card .ant-card-body,.dashboard .ant-card .ant-card-body{padding:16px 20px 20px!important}.dashboard .stat-card{position:relative;cursor:pointer}.dashboard .stat-card:before{content:"";position:absolute;top:0;left:16px;right:16px;height:3px;background:linear-gradient(90deg,var(--accent-emerald),#34d399);border-radius:0 0 3px 3px;opacity:0;transition:opacity .3s cubic-bezier(.16,1,.3,1)}.dashboard .stat-card:hover:before{opacity:1}.dashboard .stat-card .ant-statistic-title{font-size:13px;color:var(--text-tertiary);letter-spacing:-.01em}.dashboard .stat-card .ant-statistic-content{font-size:28px;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.stagger-item{animation:fadeSlideUp .5s cubic-bezier(.16,1,.3,1) both}.stagger-item:nth-child(1){animation-delay:0ms}.stagger-item:nth-child(2){animation-delay:60ms}.stagger-item:nth-child(3){animation-delay:.12s}.stagger-item:nth-child(4){animation-delay:.18s}.stagger-item:nth-child(5){animation-delay:.24s}.stagger-item:nth-child(6){animation-delay:.3s}.stagger-item:nth-child(7){animation-delay:.36s}.stagger-item:nth-child(8){animation-delay:.42s}.stagger-item:nth-child(9){animation-delay:.48s}.stagger-item:nth-child(10){animation-delay:.54s}.stagger-item:nth-child(11){animation-delay:.6s}.stagger-item:nth-child(12){animation-delay:.66s}@keyframes numberPulse{0%{transform:scale(.95);opacity:0}50%{transform:scale(1.06)}to{transform:scale(1);opacity:1}}.number-entrance{animation:numberPulse .4s cubic-bezier(.34,1.56,.64,1) both}.hover-lift{transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1)!important}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 24px 48px -12px #0000001a!important}.section-divider{height:1px;background:var(--border-subtle);margin:24px 0}.ai-monitor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:1200px){.ai-monitor-grid{grid-template-columns:1fr}}.charts-section-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}@media(max-width:1200px){.charts-section-grid{grid-template-columns:1fr}}.recipe-section-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px}@media(max-width:1024px){.recipe-section-grid{grid-template-columns:1fr}}.tags-section-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px}@media(max-width:1024px){.tags-section-grid{grid-template-columns:1fr}}.grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.dashboard .echarts-for-react{border-radius:8px}.fs-11{font-size:11px}.fs-12{font-size:12px}.fs-13{font-size:13px}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.flex-center{display:flex;align-items:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.gap-4{gap:4px}.gap-8{gap:8px}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-disabled{color:var(--text-disabled)}.m-0{margin:0}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mr-4{margin-right:4px}.mr-8{margin-right:8px}.ml-4{margin-left:4px}.ml-8{margin-left:8px}.p-0{padding:0}.px-12{padding-left:12px;padding-right:12px}.py-8{padding-top:8px;padding-bottom:8px}.w-full{width:100%}.inline-flex-center{display:inline-flex;align-items:center}.fw-500{font-weight:500}.fw-600{font-weight:600}.radius-6{border-radius:6px}.radius-8{border-radius:8px}.mb-4{margin-bottom:4px}.mb-6{margin-bottom:6px}.mb-20{margin-bottom:20px}.mb-24{margin-bottom:24px}.mt-4{margin-top:4px}.mt-6{margin-top:6px}.mt-20{margin-top:20px}.mr-6{margin-right:6px}.ml-6{margin-left:6px}.mr-12{margin-right:12px}.ml-12{margin-left:12px}.p-8{padding:8px}.p-12{padding:12px}.p-16{padding:16px}.px-8{padding-left:8px;padding-right:8px}.px-16{padding-left:16px;padding-right:16px}.py-4{padding-top:4px;padding-bottom:4px}.py-12{padding-top:12px;padding-bottom:12px}.text-center{text-align:center}.text-right{text-align:right}.fs-14{font-size:14px}.fs-15{font-size:15px}.lh-16{line-height:1.6}.text-disabled{color:var(--text-disabled, #94a3b8)}.text-success{color:#10b981}.text-warning{color:#faad14}.text-danger{color:#ff4d4f}.cursor-pointer{cursor:pointer}.border-bottom{border-bottom:1px solid var(--border-subtle)}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-0{margin:0!important}.font-mono{font-family:SF Mono,Cascadia Code,Consolas,monospace!important}.text-nowrap{white-space:nowrap!important}.d-flex{display:flex!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-none{display:none!important}.flex-col{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.flex-shrink-0{flex-shrink:0!important}.items-center{align-items:center!important}.justify-between{justify-content:space-between!important}.bg-card{background:var(--bg-card)!important}.bg-canvas{background:var(--bg-canvas)!important}.border-none{border:none!important}.overflow-hidden{overflow:hidden!important}.position-relative{position:relative!important}.h-full{height:100%!important}.text-warning{color:#faad14!important}.text-error{color:#ff4d4f!important}.text-emerald{color:#10b981!important}.fs-10{font-size:10px!important}.fs-16{font-size:16px!important}.fs-18{font-size:18px!important}.fs-24{font-size:24px!important}.fw-400{font-weight:400!important}.mt-2{margin-top:2px!important}.mt-10{margin-top:10px!important}.mb-10{margin-bottom:10px!important}.ml-auto{margin-left:auto!important}.px-0{padding-left:0!important;padding-right:0!important}.px-4{padding-left:4px!important;padding-right:4px!important}.px-6{padding-left:6px!important;padding-right:6px!important}.px-10{padding-left:10px!important;padding-right:10px!important}.px-14{padding-left:14px!important;padding-right:14px!important}.px-20{padding-left:20px!important;padding-right:20px!important}.py-2{padding-top:2px!important;padding-bottom:2px!important}.py-6{padding-top:6px!important;padding-bottom:6px!important}.py-10{padding-top:10px!important;padding-bottom:10px!important}.py-16{padding-top:16px!important;padding-bottom:16px!important}.py-24{padding-top:24px!important;padding-bottom:24px!important}.py-40{padding-top:40px!important;padding-bottom:40px!important}.p-20{padding:20px!important}.gap-12{gap:12px!important}.gap-16{gap:16px!important}.border-default{border:1px solid var(--border-color)!important}.justify-center{justify-content:center!important}.radius-4{border-radius:4px!important}.radius-round{border-radius:50%!important}.text-left{text-align:left!important}.lh-18{line-height:18px!important}.lh-20{line-height:20px!important}.d-inline-block{display:inline-block!important}.d-inline-flex{display:inline-flex!important}.h-280{height:280px!important}.page__title{font-size:20px!important;letter-spacing:.3px}.page__stat-grid .ant-card .ant-statistic-title{font-size:13px!important;color:var(--text-secondary)!important;margin-bottom:4px!important}.page__stat-grid .ant-card .ant-statistic-content{font-size:28px!important;font-weight:700!important;color:var(--text-primary)!important;line-height:1.2}.page__toolbar .ant-tag{line-height:24px;padding:0 10px;border-radius:4px}.ant-tabs-tab .ant-badge-count{font-size:11px;min-width:16px;height:16px;line-height:16px;padding:0 4px}.ant-table-wrapper .ant-empty{margin:64px 0}.ant-table-wrapper .ant-empty .ant-empty-description{color:var(--text-tertiary);font-size:14px}.page__cell-numeric{text-align:right!important;font-variant-numeric:tabular-nums}.page__stat-grid .ant-card .ant-card-body{padding:20px 24px!important}.ant-card-small>.ant-card-body{padding:16px 20px}.ant-btn-dangerous{border-color:var(--color-error)!important;color:var(--color-error)!important}.ant-btn-dangerous:hover{background:var(--color-error-bg)!important;border-color:var(--color-error)!important;color:var(--color-error)!important}.ant-table-cell .ant-space-compact{gap:0}.ant-table-cell .ant-tag+span,.ant-table-cell span+.ant-tag{margin-left:6px}.page__toolbar .ant-form-item{margin-bottom:0!important}.ant-tabs+.page__stat-grid,.ant-tabs+.ant-table-wrapper{margin-top:0}.ant-tag-checkable-checked{background:var(--color-primary-light)!important;color:var(--color-primary)!important;border-color:var(--color-primary)!important;font-weight:600}.ant-tag-checkable:not(.ant-tag-checkable-checked):hover{color:var(--color-primary)!important}.ant-table-column-title+.ant-table-column-sorter{margin-left:4px}.ant-input-affix-wrapper .ant-input-prefix{margin-right:8px;color:var(--text-tertiary)}.ant-tabs-tab .ant-badge{margin-left:4px}.page__stat-grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:16px}@media(max-width:1200px){.page__stat-grid-5{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.page__stat-grid-5{grid-template-columns:repeat(2,1fr)}}.tag-filter{cursor:pointer;padding:2px 12px;border-radius:6px;transition:all .15s ease;-webkit-user-select:none;user-select:none}.tag-filter:hover{opacity:.85;transform:translateY(-1px)}.tag-filter-active{font-weight:600;box-shadow:0 2px 6px #10b98140}.page__col-scene .ant-table-cell{color:var(--text-disabled)!important;font-size:12px}.detail-page{max-width:100%}.detail-page__header{display:flex;align-items:center;justify-content:space-between;padding:0 0 16px;margin-bottom:16px;border-bottom:1px solid var(--border-color)}.detail-page__card{margin-bottom:16px}.detail-page__card:last-of-type{margin-bottom:8px}.detail-page__info-layout{display:flex;gap:24px}.detail-page__image{flex-shrink:0;width:200px;height:200px;border-radius:8px;overflow:hidden;border:1px solid var(--border-color);background:var(--bg-layout)}.detail-page__info-layout .ant-descriptions{flex:1;min-width:0}.detail-page__card .ant-tag{border-radius:4px}.detail-page__nutrition{display:flex;flex-direction:column;gap:16px}.detail-page__nutrition-group-title{font-size:13px;font-weight:500;color:var(--text-tertiary);margin-bottom:8px;padding-bottom:6px;border-bottom:1px dashed var(--border-color)}.detail-page__nutrition-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.detail-page__nutrition-item{display:flex;flex-direction:column;align-items:center;padding:8px 4px;background:var(--bg-layout);border-radius:6px;transition:background .2s;cursor:default}.detail-page__nutrition-item:hover{background:var(--bg-hover)}.detail-page__nutrition-item.is-empty{opacity:.4}.detail-page__nutrition-label{font-size:12px;color:var(--text-tertiary);margin-bottom:2px;line-height:1.4}.detail-page__nutrition-value{font-size:14px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.detail-page__nutrition-unit{font-size:11px;font-weight:400;color:var(--text-disabled);margin-left:2px}.detail-page__footer{display:flex;justify-content:flex-end;gap:24px;padding:12px 0 0;font-size:12px;color:var(--text-disabled)}@media(max-width:1024px){.detail-page__nutrition-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:768px){.detail-page__info-layout{flex-direction:column}.detail-page__image{width:100%;height:auto;aspect-ratio:1}.detail-page__nutrition-grid{grid-template-columns:repeat(3,1fr)}.detail-page__header{flex-direction:column;align-items:flex-start;gap:12px}.detail-page__info-layout .ant-descriptions{column-count:1}}@media(max-width:480px){.detail-page__nutrition-grid{grid-template-columns:repeat(2,1fr)}}.dish-filter{margin-bottom:16px}.dish-filter__tabs{display:flex;align-items:center;gap:4px;padding:4px;background:var(--bg-card);border-radius:8px;border:1px solid var(--border-color);margin-bottom:8px}.dish-filter__tab{display:inline-flex;align-items:center;padding:6px 16px;font-size:14px;color:var(--text-secondary);border-radius:6px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s ease;white-space:nowrap;line-height:1.4}.dish-filter__tab:hover{background:var(--bg-layout);color:var(--text-primary)}.dish-filter__tab--active{background:#10b981;color:#fff;font-weight:500}.dish-filter__tab--active:hover{background:#34d399}.dish-filter__chips{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-card);border-radius:8px;border:1px solid var(--border-color);flex-wrap:wrap;animation:dish-chip-in .15s ease}@keyframes dish-chip-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dish-filter__chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;font-size:13px;color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-color-secondary);border-radius:14px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s ease;line-height:1.4}.dish-filter__chip:hover{border-color:var(--color-info-border);color:#10b981;background:var(--color-info-bg)}.dish-filter__chip--active{background:#10b981;color:#fff;border-color:#10b981}.dish-filter__chip--active:hover{background:#34d399;border-color:#34d399}.dish-filter__chip-count{font-size:12px;color:var(--text-tertiary);min-width:16px;text-align:center}.dish-filter__chip--active .dish-filter__chip-count{color:#ffffffbf}.dl-trace{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;line-height:1}.dl-trace span{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:4px;font-size:11px}.dl-trace--ok{color:#10b981;background:var(--color-success-bg);border:1px solid var(--color-success-border)}.dl-trace--warn{color:#faad14;background:var(--color-warning-bg);border:1px solid var(--color-warning-border)}.dl-trace--err{color:#ff4d4f;background:var(--color-error-bg);border:1px solid var(--color-error-border)}.dd-card{margin-bottom:16px;border-radius:8px}.dd-card .ant-card-head{min-height:40px;padding:0 16px;font-size:14px;font-weight:600}.dd-card .ant-card-head-title{padding:10px 0}.dd-card .ant-card-body{padding:12px 16px}.dd-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 24px}.dd-info-item{display:flex;align-items:baseline;gap:8px}.dd-info-label{font-size:13px;color:var(--text-tertiary);white-space:nowrap}.dd-info-value{font-size:13px;color:var(--text-primary)}.dd-info-row{display:flex;align-items:flex-start;gap:8px;margin-top:10px}.dd-info-row .ant-space{gap:4px!important}.dd-info-text{font-size:13px;color:var(--text-secondary)}.dd-eating-tip{display:flex;align-items:flex-start;gap:8px;margin-top:12px;padding:8px 12px;background:#1677ff08;border-radius:6px;font-size:13px;color:var(--text-secondary);line-height:1.6}.dd-eating-tip__icon{color:#10b981;margin-top:3px;flex-shrink:0}.dd-trace-summary{display:flex;align-items:center;gap:20px;padding:10px 0 12px;margin-bottom:12px;border-bottom:1px solid var(--divider-color)}.dd-trace-summary__stat{display:flex;flex-direction:column;align-items:center;gap:2px}.dd-trace-summary__count{font-size:24px;font-weight:700;font-family:SF Mono,Menlo,Consolas,monospace;line-height:1.1}.dd-trace-summary__count--muted{color:var(--text-disabled)!important}.dd-trace-summary__label{font-size:11px;color:var(--text-tertiary);font-weight:500}.dd-trace-summary__divider{width:1px;height:28px;background:var(--divider-color)}.dd-tag{display:inline-flex;align-items:center;gap:2px;font-size:12px;font-weight:700;font-family:SF Mono,Menlo,Consolas,monospace;padding:1px 6px;border-radius:4px;line-height:1.5;white-space:nowrap}.dd-tag--ok{color:var(--color-success);background:#52c41a1a}.dd-tag--warn{color:var(--color-warning);background:#faad141f}.dd-tag--err{color:var(--color-error);background:#ff4d4f1a}.dd-core-bar{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:16px}.dd-core-cell{text-align:center;padding:10px 4px 8px;border-radius:8px;border:1.5px solid var(--divider-color);background:var(--divider-color);position:relative;transition:border-color .15s,background .15s}.dd-core-cell--ok{border-color:var(--color-success-border);background:var(--color-success-bg)}.dd-core-cell--warning{border-color:var(--color-warning-border);background:var(--color-warning-bg)}.dd-core-cell--danger{border-color:var(--color-error-border);background:var(--color-error-bg)}.dd-core-cell__name{font-size:11px;color:#0006;margin-bottom:4px;font-weight:500}.dd-core-cell__val{font-size:18px;font-weight:700;font-family:SF Mono,Menlo,Consolas,monospace;color:var(--text-primary);line-height:1.2}.dd-core-cell__val small{font-size:10px;font-weight:400;color:var(--divider-color);margin-left:1px}.dd-core-cell__rec{font-size:10px;color:var(--divider-color);margin-top:3px;font-family:SF Mono,Menlo,Consolas,monospace}.dd-core-cell>.dd-tag{position:absolute;top:4px;right:4px;font-size:10px;padding:0 4px}.dd-trace-table-wrap{border:1px solid var(--divider-color);border-radius:6px;overflow:hidden}.dd-trace-table{width:100%;border-collapse:collapse;font-size:13px}.dd-trace-table thead{background:var(--divider-color)}.dd-trace-table th{padding:6px 10px;font-weight:600;font-size:11px;color:#0006;text-align:left;border-bottom:1px solid var(--divider-color);text-transform:uppercase;letter-spacing:.5px}.dd-trace-table td{padding:7px 10px;border-bottom:1px solid var(--divider-color);vertical-align:middle}.dd-trace-table tbody tr:last-child td{border-bottom:none}.dd-trace-table__name{font-weight:500;color:var(--text-primary)}.dd-trace-table__unit{font-size:11px;color:var(--divider-color);margin-left:3px}.dd-trace-table__col--val{text-align:right;font-family:SF Mono,Menlo,Consolas,monospace;font-weight:500;color:var(--text-secondary);width:80px}.dd-trace-table__calc{color:#10b981!important}.dd-trace-table__col--dev{text-align:center;width:100px}.dd-trace-table__row--ok td{background:#52c41a08}.dd-trace-table__row--warning td{background:#faad140d}.dd-trace-table__row--danger td{background:#ff4d4f0d}@media(max-width:1024px){.dd-core-bar{grid-template-columns:repeat(3,1fr)}.dd-info-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.dd-core-bar{grid-template-columns:repeat(2,1fr)}.dd-info-grid{grid-template-columns:1fr}.dd-trace-table{font-size:12px}}.ingredient-row--unmatched td,.ingredient-row--unmatched:hover td{background-color:var(--color-warning-bg)!important}.trace-audit-page .stat-card{border-radius:8px;transition:box-shadow .2s}.trace-audit-page .stat-card:hover{box-shadow:0 2px 8px #00000014}.trace-audit-page .stat-card .ant-statistic-title{font-size:13px;color:var(--text-tertiary)}.trace-audit-page .trace-audit-toolbar{border-radius:8px}.trace-audit-page .trace-audit-toolbar__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.trace-audit-page .trace-audit-toolbar__left{flex:1;min-width:0}.trace-audit-page .trace-audit-toolbar__left .ant-tabs{margin-bottom:0}.trace-audit-page .trace-audit-toolbar__right{display:flex;align-items:center;gap:8px;flex-shrink:0}.trace-audit-page .trace-audit-toolbar .ant-tabs-ink-bar{height:2px}.trace-audit-page .ant-table-wrapper .ant-table-row{cursor:default}.trace-modal__bar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--bg-card);border-radius:8px;margin-bottom:14px}.trace-modal__note{font-size:13px;color:var(--text-secondary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trace-modal__nums{display:flex;gap:10px;flex-shrink:0}.trace-modal__num{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.trace-modal__num--ok{color:#10b981}.trace-modal__num--warn{color:#faad14}.trace-modal__num--err{color:#ff4d4f}.trace-modal__num--skip{color:var(--divider-color)}.trace-modal__body{display:flex;gap:0;min-height:0}.trace-modal__left{flex:1;min-width:0;padding-right:20px}.trace-modal__divider{width:1px;background:var(--border-color);flex-shrink:0;align-self:stretch}.trace-modal__right{flex:1;min-width:0;padding-left:20px}.trace-modal__section-title{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:12px;display:flex;align-items:center}.trace-anomaly-tbl{width:100%;border-collapse:collapse;font-size:13px}.trace-anomaly-tbl th{padding:8px 14px;font-weight:500;font-size:13px;color:var(--text-tertiary);border-bottom:1px solid var(--border-color);text-align:left;white-space:nowrap}.trace-anomaly-tbl td{padding:8px 14px;border-bottom:1px solid var(--border-color);font-variant-numeric:tabular-nums}.trace-anomaly-tbl .row-danger td:first-child{position:relative}.trace-anomaly-tbl .row-danger td:first-child:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;border-radius:2px;background:#ff4d4f}.trace-anomaly-tbl .row-warn td:first-child{position:relative}.trace-anomaly-tbl .row-warn td:first-child:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;border-radius:2px;background:#faad14}.trace-fix-list{display:flex;flex-direction:column;gap:10px}.trace-fix-item{border:1px solid var(--border-color);border-radius:8px;padding:14px 16px;cursor:pointer;transition:all .15s;background:var(--bg-card)}.trace-fix-item:hover{border-color:var(--color-info-border)}.trace-fix-item--active{border-color:#10b981;background:var(--color-info-bg)}.trace-fix-item__top{display:flex;align-items:center;gap:10px}.trace-fix-item__field{font-weight:600;font-size:13px;color:var(--text-primary);min-width:48px}.trace-fix-item__old{font-family:SFMono-Regular,Consolas,monospace;font-size:12px;color:var(--divider-color);text-decoration:line-through}.trace-fix-item--active .trace-fix-item__old{color:#0003}.trace-fix-item__arrow{color:var(--border-color);font-size:11px}.trace-fix-item__new{font-family:SFMono-Regular,Consolas,monospace;font-size:13px;font-weight:700;color:#10b981}.trace-fix-item--active .trace-fix-item__new{color:#10b981}.trace-fix-item__unit{font-size:11px;color:var(--text-tertiary)}.trace-fix-item__reason{font-size:12px;color:#0006;line-height:1.6;margin-top:8px;padding-left:32px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer;transition:all .15s}.trace-fix-item__reason:hover{color:var(--text-secondary)}.trace-fix-item__source{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--divider-color);margin-top:6px;padding-left:32px}.trace-fix-item__source .anticon{color:var(--color-info-border)}.trace-fix-loading{padding:24px 0;text-align:center}.trace-fix-loading__icon{font-size:32px;color:#10b981;margin-bottom:16px;animation:trace-pulse 1.5s ease-in-out infinite}@keyframes trace-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.trace-fix-loading__steps{display:inline-flex;flex-direction:column;gap:8px;text-align:left;margin-bottom:16px}.trace-fix-loading__step{font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:8px;padding:4px 0}.trace-fix-loading__step--done{color:#10b981}.trace-fix-loading__step--done .anticon{font-size:14px}.trace-fix-loading__step--active{color:#10b981;font-weight:500}.trace-fix-loading__step--active .ant-spin{display:inline-flex;align-items:center}.trace-fix-loading__hint{font-size:12px;color:var(--divider-color);animation:trace-fade 2s ease-in-out infinite}@keyframes trace-fade{0%,to{opacity:.3}50%{opacity:.6}}.rs-section-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.rs-exclusion-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.rs-exclusion-item{padding:12px 16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.ant-layout-sider{background:var(--bg-sider)!important}.ant-layout-sider-trigger{background:var(--bg-sider)!important;border-top:1px solid var(--border-color)}.ant-menu-light{border-inline-end:none!important}.content-area{padding:24px;background:var(--bg-layout);flex:1;overflow-y:auto}.ant-tag{margin-bottom:4px}.ant-card-body>.ant-table-wrapper .ant-table{margin:0}.app-sider{position:relative}.app-sider:after{content:"";position:absolute;top:0;right:0;bottom:0;width:1px;background:var(--border-color);pointer-events:none}.app-sider-logo,.app-header{border-bottom-color:var(--border-color)}.ant-btn{transition:all .2s cubic-bezier(.16,1,.3,1)!important}.ant-btn:not(.ant-btn-loading):hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.ant-btn:not(.ant-btn-loading):active{transform:translateY(0)}.ant-table-tbody>tr>td{transition:background .15s ease}.ant-table-tbody>tr:hover>td{background:var(--bg-hover)!important}.ant-table-tbody>tr.ant-table-row-selected:hover>td{background:var(--color-primary-bg)!important}.ant-tag:not(.ant-tag-checkable-checked):hover{opacity:.8;cursor:pointer}a{transition:color .15s ease}.ant-typography-copyable:hover{color:var(--color-primary-hover)}.ant-card-hoverable:hover{box-shadow:var(--shadow-card);transform:translateY(-2px);transition:all .25s cubic-bezier(.16,1,.3,1)}.ant-card{transition:all .25s cubic-bezier(.16,1,.3,1)}.ant-menu-light .ant-menu-item-selected{background:var(--color-primary-light)!important;color:var(--color-primary)!important;font-weight:600}.ant-menu-light .ant-menu-item:not(.ant-menu-item-selected):hover{color:var(--color-primary)!important}.ant-pagination-item:hover{border-color:var(--color-primary)!important}.ant-pagination-item-active{border-color:var(--color-primary)!important;background:var(--color-primary)!important}.ant-pagination-item-active a{color:#fff!important}.ant-input:focus,.ant-input-focused,.ant-select-focused .ant-select-selector{border-color:var(--color-primary)!important;box-shadow:0 0 0 2px var(--color-primary-light)!important}.ant-input:hover,.ant-select:not(.ant-select-disabled):hover .ant-select-selector{border-color:var(--color-primary-hover)!important}.ant-switch-checked{background:var(--color-primary)!important}.ant-empty{margin:48px 0}.ant-table-column-sorter{color:var(--text-tertiary)!important}.ant-table-column-sorter-up.active,.ant-table-column-sorter-down.active{color:var(--color-primary)!important}.ant-table-cell .ant-space{flex-wrap:nowrap}.ant-input-clear-icon:hover{color:var(--color-primary)!important}.ant-input::placeholder,.ant-select-selection-placeholder,.ant-pagination-item-ellipsis{color:#adb5bd!important}.ant-table-placeholder .ant-table-cell,.ant-btn[disabled],.ant-btn[disabled]:hover,.ant-input[disabled],.ant-select-disabled .ant-select-selection-item{color:#adb5bd!important}.ant-table-cell[class*=ant-table-cell-align-right]{font-variant-numeric:tabular-nums}.ant-table-cell .ant-space-compact+.ant-space-compact,.ant-table-cell .ant-space-item+.ant-space-item{margin-left:0}.ant-table-cell .ant-tag+a,.ant-table-cell a+.ant-tag{margin-left:4px}.ant-input-search .ant-input-affix-wrapper{border-radius:6px!important}.ant-input-search .ant-input-affix-wrapper:hover{border-color:var(--color-primary-hover)!important}.ant-input-search .ant-input-affix-wrapper-focused{border-color:var(--color-primary)!important;box-shadow:0 0 0 2px var(--color-primary-light)!important}.ant-layout-sider-trigger{display:flex;align-items:center;justify-content:center}.ant-layout-sider-trigger .anticon{font-size:14px}.ant-menu-light .ant-menu-item-selected{position:relative;background:var(--color-primary-light)!important;color:var(--color-primary)!important;font-weight:600;border-radius:0 8px 8px 0;box-shadow:inset 3px 0 0 var(--color-primary)}.ant-menu-light .ant-menu-item-selected:after{opacity:1!important;transform:scaleY(1)}.ant-menu-light .ant-menu-item:not(.ant-menu-item-selected):hover{color:var(--color-primary)!important;background:#10b9810a!important}.ant-btn,.ant-input,.ant-select-selector,.ant-picker,.ant-tag,.ant-modal-content,.ant-dropdown-menu,.ant-popover-inner,.ant-table-container{border-radius:6px!important}.ant-card,.ant-modal-header,.ant-drawer-content{border-radius:8px!important}.page__stat-grid .ant-statistic-title,.page__stat-grid-5 .ant-statistic-title{font-size:12px!important;color:var(--text-tertiary)!important;text-transform:uppercase;letter-spacing:.3px}.page__stat-grid .ant-statistic-content,.page__stat-grid-5 .ant-statistic-content{font-size:24px!important;font-weight:700!important;color:var(--text-primary)!important}.ant-table-tbody>tr>td{padding:8px 12px!important;font-size:13px}.ant-table-thead>tr>th{padding:10px 12px!important;font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--bg-layout)!important;border-bottom:2px solid var(--border-color)!important}.ant-empty{padding:40px 0}.ant-empty .ant-empty-description{color:var(--text-tertiary);font-size:13px}.font-mono,.ant-statistic-content{font-variant-numeric:tabular-nums}.ant-menu-light .ant-menu-item{font-size:13px!important}.page .ant-card-body .ant-space,.page .ant-card-body>.ant-row{margin-bottom:4px}.ant-pagination{margin-top:12px}.ant-tag{font-size:11px;line-height:20px;padding:0 8px;border-radius:4px}.ant-tag.ant-tag-has-color{border:1px solid rgba(0,0,0,.1)}.ant-badge-status-text{font-size:12px}.text-emerald+.text-tertiary:before{content:""}.ant-progress-text{font-size:11px!important;font-weight:600}.ant-table-column-sorter{opacity:.6}.ant-table-column-sorter:hover{opacity:1}:root,[data-theme=light]{--bg-layout: #f8fafc;--bg-sider: #ffffff;--bg-header: #ffffff;--bg-card: #ffffff;--bg-body: #ffffff;--bg-hover: rgba(0, 0, 0, .04);--bg-input: #ffffff;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #94a3b8;--text-disabled: #cbd5e1;--border-color: #f1f5f9;--border-color-secondary: #e2e8f0;--divider-color: rgba(0, 0, 0, .06);--shadow-card: 0 20px 40px -15px rgba(0, 0, 0, .05);--shadow-dropdown: 0 6px 16px rgba(0, 0, 0, .08), 0 3px 6px -4px rgba(0, 0, 0, .12), 0 9px 28px 8px rgba(0, 0, 0, .05);--skeleton-color: rgba(0, 0, 0, .06);--skeleton-active-color: linear-gradient(90deg, rgba(0,0,0,.06) 25%, rgba(0,0,0,.12) 37%, rgba(0,0,0,.06) 63%);--color-primary: #10b981;--color-primary-hover: #059669;--color-primary-light: #d1fae5;--color-primary-bg: #ecfdf5;--color-success: #10b981;--color-success-bg: #ecfdf5;--color-success-border: #a7f3d0;--color-error: #ef4444;--color-error-bg: #fef2f2;--color-error-border: #fecaca;--color-warning: #f59e0b;--color-warning-bg: #fffbeb;--color-warning-border: #fde68a;--color-info: #0ea5e9;--color-info-bg: #f0f9ff;--color-info-border: #bae6fd;--color-purple: #8b5cf6;--color-purple-bg: #f5f3ff}:root{color-scheme:light}.content-area{background:var(--bg-layout)}.app-sider{background:var(--bg-sider)}.app-sider:after{background:var(--border-color)}.app-sider-logo{border-bottom-color:var(--border-color)}.app-header{background:var(--bg-header);border-bottom-color:var(--border-color)}.page__title{color:var(--text-primary)}.tag-bar__count{color:var(--text-tertiary)}.tag-bar__track{background:#8080801f}
