:root{color:#17211d;background:#f3f5f0;font-family:IBM Plex Sans,Microsoft YaHei,PingFang SC,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}.shell{background:linear-gradient(90deg,#0d7c6612,#0000 34%),#f3f5f0;grid-template-columns:280px 1fr;min-height:100vh;display:grid}.sidebar{color:#edf4ef;background:#101916;border-right:1px solid #24332e;flex-direction:column;gap:18px;height:100vh;padding:22px;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid #283933;align-items:center;gap:12px;padding-bottom:12px;display:flex}.brand-mark{color:#7cd8be;background:#17261f;border:1px solid #66887b;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.brand strong,.brand span{display:block}.brand span{color:#aab8b1;font-size:12px}nav{gap:6px;display:grid}.nav{color:#c8d4ce;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;height:42px;padding:0 12px;font-weight:700;display:flex}.nav:hover,.nav.active{color:#fff;background:#22362e}.qingyan-status{background:#17231f;border:1px solid #314841;border-radius:8px;gap:10px;margin-top:auto;padding:12px;display:flex}.qingyan-status strong,.qingyan-status span{display:block}.qingyan-status span{color:#aab8b1;font-size:12px}.deerflow{color:#8ba399;opacity:.72;font-size:12px;text-decoration:none}.deerflow:hover{opacity:1;color:#7cd8be}.main{min-width:0;padding:24px}.topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.topbar p{color:#607069;margin:0;font-size:13px;font-weight:700}.topbar h1{letter-spacing:0;margin:2px 0 0;font-size:30px}.top-actions{flex-wrap:wrap;gap:10px;display:flex}.primary,.ghost{border:1px solid #cbd6d0;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 14px;font-weight:800;display:inline-flex}.primary{color:#fff;background:#0d7c66;border-color:#0d7c66}.ghost{color:#17211d;background:#fff}.small{min-height:32px;font-size:13px}.page-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.metrics{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.panel,.metric{background:#ffffffe6;border:1px solid #dbe4de;border-radius:8px;box-shadow:0 16px 34px #15201c0f}.panel{min-width:0;padding:18px}.wide,.wide-only{grid-column:1/-1}.metric{text-align:left;gap:6px;min-height:144px;padding:16px;display:grid}.metric.clickable{cursor:pointer;width:100%}.metric.clickable:hover,.metric.clickable:focus-visible{border-color:#8ebfb0;outline:none;box-shadow:0 16px 34px #0d7c6621}.metric svg{color:#607069}.metric.ok svg{color:#0d7c66}.metric.warn svg{color:#c2573d}.metric span{color:#607069;font-size:13px;font-weight:800}.metric strong{font-size:34px;line-height:1}.metric p{color:#607069;margin:0;font-size:13px;font-weight:700}.panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel-head span{color:#0d7c66;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:900}.panel-head h2{margin:2px 0 0;font-size:18px}.panel-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.funnel{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.funnel-item{background:#f8faf6;border:1px solid #e1e8e3;border-radius:8px;padding:14px}.funnel-item div{justify-content:space-between;align-items:baseline;display:flex}.funnel-item strong{font-size:28px}.funnel-item span{color:#607069;font-weight:800}meter{width:100%;height:12px;margin-top:8px}.chart{width:100%;height:220px}.status-strip{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.status-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.status{background:#f8faf6;border:1px solid #dce5df;border-radius:8px;padding:14px}.status span{color:#607069;font-weight:800;display:block}.status strong{font-size:28px}.status.ok{border-color:#a9d4c7}.status.warn{border-color:#e6c6a8}.status.danger{border-color:#e9b9ae}.cycle-monitor{gap:14px;display:grid}.cycle-topline{grid-template-columns:1.15fr 1.4fr repeat(2,minmax(0,.9fr));gap:12px;display:grid}.cycle-topline>div{background:#f8faf6;border:1px solid #dce5df;border-radius:8px;min-width:0;padding:12px}.cycle-topline span,.cycle-metric span{color:#607069;font-size:12px;font-weight:900;display:block}.cycle-topline strong{word-break:break-word;margin-top:4px;font-size:15px;line-height:1.25;display:block}.cycle-topline small{color:#607069;word-break:break-all;margin-top:4px;font-size:12px;font-weight:800;display:block}.cycle-progress{background:#eef9f3;border:1px solid #b8dccc;border-radius:8px;gap:10px;padding:14px;display:grid}.cycle-progress strong,.cycle-progress span{display:block}.cycle-progress span{color:#607069;font-size:13px;font-weight:800}.cycle-progress-track{background:#dce5df;border-radius:999px;height:12px;overflow:hidden}.cycle-progress-track span{background:#0d7c66;height:100%;display:block}.cycle-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.cycle-metric{text-align:left;background:#f8faf6;border:1px solid #dce5df;border-radius:8px;min-width:0;padding:12px}.cycle-metric.clickable:hover,.cycle-metric.clickable:focus-visible,.cycle-metric.active{border-color:#0d7c66;outline:none;box-shadow:0 10px 24px #0d7c661f}.cycle-metric strong{margin-top:3px;font-size:24px;line-height:1;display:block}.cycle-metric small{color:#607069;margin-top:6px;font-size:12px;font-weight:800;display:block}.cycle-metric.ok{border-color:#a9d4c7}.cycle-metric.warn{background:#fffaf0;border-color:#e6c6a8}.cycle-metric.danger{background:#fff4f1;border-color:#efbdb2}.event-list,.stack,.settings-list{gap:10px;display:grid}.event{background:#f8faf6;border:1px solid #dce5df;border-radius:7px;grid-template-columns:210px 1fr;align-items:center;gap:12px;padding:11px 12px;display:grid}.event code{color:#485750;font-weight:900}.event.ok{border-left:4px solid #0d7c66}.event.warn{border-left:4px solid #d79a42}.event.danger{border-left:4px solid #c2573d}.task-card,.source-card,.alert-card,.role-card,.settings-list>div{background:#f8faf6;border:1px solid #dce5df;border-radius:8px;padding:14px}.task-card{justify-content:space-between;align-items:center;gap:12px;display:flex}.task-card strong,.task-card span{display:block}.task-card span{color:#607069;font-size:13px;font-weight:700}.source-grid,.alert-grid,.role-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.compact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.source-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.source-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.icon-button,.danger-button{color:#17211d;background:#fff;border:1px solid #cbd6d0;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-height:28px;font-weight:900;display:inline-flex}.icon-button{width:30px;padding:0}.danger-icon{color:#9d3324;background:#fdeae6;border-color:#efbdb2}.danger-button{color:#9d3324;background:#fdeae6;border-color:#efbdb2;padding:0 9px;font-size:12px}.source-card p{color:#607069;word-break:break-all}.tags{flex-wrap:wrap;gap:6px;display:flex}.tags span{color:#607069;background:#fff;border:1px solid #d5ded8;border-radius:99px;padding:4px 8px;font-size:12px;font-weight:800}.source-stats{color:#607069;gap:16px;margin-top:12px;font-weight:700;display:flex}.source-stats b{color:#17211d;margin-right:4px}.source-health-note{border-radius:8px;gap:4px;margin-top:12px;padding:10px;font-size:13px;display:grid}.source-health-note strong,.source-health-note span{display:block}.source-health-note span{word-break:break-word;font-weight:800}.source-health-note.warn{color:#69420f;background:#fff7e6;border:1px solid #e9c58a}.source-health-note.danger{color:#9d3324;background:#fdeae6;border:1px solid #efbdb2}.adapter-help{background:#f8faf6;border:1px solid #dce5df;border-radius:8px;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;margin:0 0 14px;padding:12px;display:grid}.adapter-help strong{color:#17211d;font-size:13px}.adapter-help span{color:#607069;font-size:13px;font-weight:800}.empty-form{gap:10px;display:grid}input{background:#fff;border:1px solid #cbd6d0;border-radius:7px;min-height:40px;padding:0 12px}select{background:#fff;border:1px solid #cbd6d0;border-radius:7px;min-height:40px;padding:0 10px}button:disabled{cursor:not-allowed;opacity:.62}.inline-message{color:#0d6b59;background:#e7f4ef;border:1px solid #badbce;border-radius:7px;margin:-4px 0 12px;padding:10px 12px;font-size:13px;font-weight:800}.filter-message{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.error-banner{color:#9d3324;background:#fdeae6;border:1px solid #efbdb2;border-radius:7px;margin:-4px 0 14px;padding:10px 12px;font-size:13px;font-weight:800}.helper-text{color:#607069;margin:12px 0 0;font-weight:800}.scheduler-strip .status strong{word-break:break-word;font-size:19px;line-height:1.15}.empty-state{background:#f8faf6;border:1px dashed #cbd6d0;border-radius:8px;align-content:center;gap:6px;min-height:120px;padding:18px;display:grid}.empty-state strong{color:#17211d}.empty-state span{color:#607069;font-size:13px;font-weight:700}.table-wrap{border:1px solid #dce5df;border-radius:8px;overflow-x:auto}table{border-collapse:collapse;background:#fff;width:100%;min-width:860px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e5ece7;padding:12px}th{text-transform:uppercase;letter-spacing:.08em;color:#607069;background:#f2f6f1;font-size:12px}td strong,td span{display:block}td span{color:#607069;margin-top:4px;font-size:13px}td small{color:#7c8a83;margin-top:4px;font-size:12px;font-weight:700;display:block}.tab-strip{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.tab-strip button{color:#607069;background:#fff;border:1px solid #d5ded8;border-radius:7px;min-height:34px;padding:0 12px;font-weight:900}.tab-strip button.active{color:#fff;background:#0d7c66;border-color:#0d7c66}.compact-tabs{margin-bottom:0}.task-list,.candidate-feed,.alert-list,.rule-grid{gap:12px;display:grid}.task-run-card,.candidate-card,.alert-row,.rule-card{background:#f8faf6;border:1px solid #dce5df;border-radius:8px}.task-run-card{gap:12px;padding:14px;display:grid}.task-run-head{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:flex-start;gap:12px;width:100%;padding:0;display:flex}.task-run-head strong,.task-run-head span{display:block}.task-run-head span{color:#607069;word-break:break-all;font-size:13px;font-weight:700}.task-run-badges{flex-shrink:0;align-items:center;gap:8px;display:flex}.rotated{transform:rotate(180deg)}.task-meta-grid{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:10px;display:grid}.task-meta-grid .status{padding:10px}.task-meta-grid .status strong{font-size:22px}.task-detail-line{color:#607069;flex-wrap:wrap;gap:12px;font-size:13px;font-weight:800;display:flex}.inline-error{margin:0}.task-warning-summary{color:#69420f;background:#fff7e6;border:1px solid #e9c58a;border-radius:8px;gap:6px;padding:12px;display:grid}.task-warning-summary strong,.task-warning-summary span{display:block}.task-warning-summary span{word-break:break-word;font-size:13px;font-weight:800}.task-event-section{gap:10px;display:grid}.task-event-section h4{letter-spacing:0;margin:4px 0 0;font-size:14px}.event-timeline{gap:8px;display:grid}.timeline-item{background:#fff;border:1px solid #dce5df;border-radius:7px;grid-template-columns:128px 150px minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;display:grid}.timeline-item time{color:#607069;font-size:12px;font-weight:800}.timeline-item span{color:#607069;font-size:13px;font-weight:700}.timeline-item code{color:#485750;white-space:normal;word-break:break-word;background:#f2f6f1;border-radius:6px;grid-column:1/-1;padding:7px 8px;font-size:12px}.timeline-item.ok{border-left:4px solid #0d7c66}.timeline-item.warn{border-left:4px solid #d79a42}.timeline-item.danger{border-left:4px solid #c2573d}.candidate-card{grid-template-columns:52px minmax(0,1fr) 154px;gap:14px;padding:16px;display:grid}.candidate-card.pinned{border-color:#91cdbb;box-shadow:0 12px 28px #0d7c661f}.candidate-rank{color:#fff;background:#101916;border-radius:8px;place-items:center;width:48px;height:48px;font-size:20px;font-weight:900;display:grid}.candidate-main{min-width:0}.candidate-badges{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:7px;display:flex}.candidate-badges>span:not(.badge),.candidate-footer span{color:#607069;font-size:13px;font-weight:800}.candidate-main h3{letter-spacing:0;margin:0 0 7px;font-size:20px;line-height:1.35}.original-title{color:#607069;margin:0 0 8px;font-size:13px;font-weight:800}.summary-zh,.impact-zh{color:#485750;margin:0 0 9px;font-weight:700}.impact-zh{color:#17211d}.candidate-footer{flex-wrap:wrap;gap:12px;margin-top:10px;display:flex}.candidate-actions{flex-direction:column;align-items:stretch;gap:8px;display:flex}.link-button{text-decoration:none}.candidate-details{border-top:1px solid #dce5df;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px;padding-top:12px;display:grid}.candidate-details .status{padding:10px}.candidate-details .status strong{font-size:22px}.detail-text{background:#fff;border:1px solid #dce5df;border-radius:7px;gap:4px;padding:10px;display:grid}.detail-text strong{font-size:13px}.detail-text span{color:#607069;word-break:break-word;font-size:13px;font-weight:700}.wide-detail{grid-column:span 2}.pagination-bar{color:#607069;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-weight:800;display:flex}.pagination-bar>div{align-items:center;gap:10px;display:flex}.alert-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.alert-row{grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:14px;display:grid}.alert-row strong,.alert-row span,.alert-row small{display:block}.alert-row strong{margin:6px 0 4px}.alert-row span,.alert-row small{color:#607069;font-size:13px;font-weight:700}.row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rule-section{margin-top:18px}.rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rule-card{justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.rule-card strong,.rule-card span{display:block}.rule-card span{color:#607069;font-size:13px;font-weight:700}.badge{color:#607069;background:#fff;border:1px solid #dce5df;border-radius:999px;align-items:center;min-height:24px;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.badge.ok{color:#0d6b59;background:#e7f4ef;border-color:#badbce}.badge.warn{color:#8b5b13;background:#fff4dc;border-color:#ead3a3}.badge.danger{color:#9d3324;background:#fdeae6;border-color:#efbdb2}.alert-card,.role-card,.settings-list>div{gap:7px;display:grid}.alert-card svg,.role-card svg,.settings-list svg{color:#0d7c66}.alert-card span,.role-card span,.settings-list span{color:#607069;font-size:13px;font-weight:700}.settings-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.settings-form label{color:#607069;gap:6px;font-size:13px;font-weight:900;display:grid}.settings-block{background:#fbfdf9;border:1px solid #dbe4de;border-radius:8px;margin:18px 0;padding:16px}.database-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.database-card{background:#fff;border:1px solid #dce5df;border-radius:8px;gap:12px;padding:14px;display:grid}.database-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.database-card-head strong,.database-card-head span{display:block}.database-card-head span,.database-status span{color:#607069;font-size:13px;font-weight:700}.segmented{background:#f4f8f4;border:1px solid #dce5df;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;display:grid}.segmented button{color:#607069;background:0 0;border:0;border-radius:6px;min-height:34px;font-weight:900}.segmented button.active{color:#fff;background:#0d7c66}.database-form{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.database-status{word-break:break-all;gap:4px;min-height:40px;display:grid}.ai-test-result{background:#f8faf6;border:1px solid #dce5df;border-radius:8px;gap:10px;margin-bottom:14px;padding:14px;display:grid}.ai-test-result.ok{background:#e7f4ef;border-color:#badbce}.ai-test-result.danger{background:#fdeae6;border-color:#efbdb2}.ai-test-result strong,.ai-test-result span{display:block}.ai-test-result span{color:#607069;font-size:13px;font-weight:800}.preview-result{background:#f8faf6;border:1px solid #dce5df;border-radius:8px;gap:12px;margin-top:14px;padding:14px;display:grid}.preview-result.compact{margin-top:12px}.preview-result.compact .preview-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.preview-result.compact .preview-lines{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.preview-head span{color:#0d7c66;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:900}.preview-result p{color:#607069;margin:0;font-weight:700}.preview-candidate-list{gap:7px;display:grid}.preview-candidate-list a{color:#17211d;background:#fff;border:1px solid #dce5df;border-radius:7px;grid-template-columns:24px 1fr;align-items:start;gap:8px;padding:8px 10px;text-decoration:none;display:grid}.preview-candidate-list b{color:#0d7c66}.preview-candidate-list span{color:#485750;font-size:13px;font-weight:800}.preview-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.preview-metrics .status{padding:10px}.preview-metrics .status strong{font-size:20px}.preview-lines{color:#607069;gap:6px;font-size:13px;font-weight:800;display:grid}.modal-backdrop{z-index:50;background:#1019166b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:#fff;border:1px solid #dbe4de;border-radius:10px;width:min(720px,100%);max-height:92vh;padding:20px;overflow:auto;box-shadow:0 28px 80px #10191647}.auth-modal{max-width:920px}.auth-explain{color:#69420f;background:#fff7e6;border:1px solid #e6c6a8;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:14px;padding:12px;display:grid}.auth-explain span{color:#69420f;font-size:13px;font-weight:800}.auth-form{margin-bottom:12px}.auth-status{color:#607069;background:#f8faf6;border:1px solid #dce5df;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:800;display:flex}.editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.editor-grid label{color:#607069;gap:6px;font-size:13px;font-weight:900;display:grid}.editor-grid label:nth-child(2){grid-column:1/-1}.toggle-row{align-items:center;color:#17211d!important;grid-template-columns:none!important;display:flex!important}.toggle-row input{width:18px;height:18px;min-height:auto}.modal-message{margin:14px 0 0}.modal-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;display:flex}.modal-action-spacer{flex:1}.test-button{color:#0d6b59;border-color:#9ecfc0}@media (width<=1040px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:relative}nav,.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.page-grid,.source-grid,.alert-grid,.role-grid,.funnel,.status-strip,.status-row,.compact-grid,.database-grid,.task-meta-grid,.alert-stats,.rule-grid,.cycle-topline,.cycle-metrics{grid-template-columns:1fr}.candidate-card{grid-template-columns:48px minmax(0,1fr)}.candidate-actions{flex-flow:wrap;grid-column:1/-1}.candidate-details{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-item{grid-template-columns:1fr}.preview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-result.compact .preview-metrics,.preview-result.compact .preview-lines{grid-template-columns:1fr}}@media (width<=620px){.main{padding:14px}.topbar{flex-direction:column;align-items:flex-start}.metrics,.event,.editor-grid,.settings-form,.database-form,.segmented,.preview-metrics,.candidate-card{grid-template-columns:1fr}.candidate-rank{width:44px;height:44px}.candidate-details{grid-template-columns:1fr}.wide-detail{grid-column:auto}.alert-row{grid-template-columns:1fr}.row-actions{flex-direction:column;align-items:stretch}.panel-actions{justify-content:stretch;width:100%}.panel-actions button{flex:1}.modal-actions{flex-direction:column;align-items:stretch}.modal-action-spacer{display:none}}
