:root{color:#1d2433;background:#f4f6f8;font-family:Inter,Noto Sans SC,Microsoft YaHei,Arial,sans-serif;font-size:14px;line-height:1.45}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{min-height:34px;border:1px solid #cfd6df;border-radius:6px;padding:0 12px;background:#fff;color:#1d2433;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}button:hover{border-color:#2f6fed;color:#174ea6}button:disabled{color:#9aa5b4;border-color:#dbe1e8;background:#f4f6f8;cursor:not-allowed}button.soft-disabled,button.soft-disabled:hover{color:#9aa5b4;border-color:#dbe1e8;background:#f4f6f8;cursor:not-allowed}input{width:100%;min-height:34px;border:1px solid #cfd6df;border-radius:6px;padding:0 10px;background:#fff;color:#1d2433}input:focus,button:focus-visible{outline:2px solid rgba(47,111,237,.24);outline-offset:2px}.app-shell{display:grid;grid-template-columns:304px minmax(0,1fr);min-height:100vh}.task-rail{background:#fff;border-right:1px solid #dfe5ec;padding:18px;display:flex;flex-direction:column;gap:16px;min-width:0}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px;color:#132238;min-height:34px}.new-task{border:1px solid #dfe5ec;border-radius:8px;padding:12px;display:grid;gap:10px;background:#fbfcfe}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.primary-action{background:#2f6fed;border-color:#2f6fed;color:#fff}.primary-action:hover{background:#245ecb;border-color:#245ecb;color:#fff}.task-list{display:grid;gap:8px;align-content:start;overflow:auto;min-height:0;flex:1}.task-item{width:100%;min-height:62px;display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:6px;border:1px solid transparent;border-radius:8px;background:transparent;padding:5px}.task-item:hover,.task-item.active{background:#eef4ff;border-color:#bcd1fb;color:#123b7a}.task-select{min-width:0;min-height:50px;display:grid;justify-items:start;align-content:center;gap:4px;text-align:left;border:0;background:transparent;padding:5px 6px}.task-select:hover{background:transparent;border-color:transparent}.task-delete{width:30px;height:30px;padding:0;justify-content:center;color:#98a2b3;border-color:transparent;background:transparent}.task-delete:hover{color:#b42318;border-color:#fac5bd;background:#fff5f3}.task-name{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.task-meta{color:#667085;font-size:12px}.settings-entry{justify-content:flex-start;width:100%}.mode-entry{justify-content:flex-start;width:100%;border-color:#cfd6df;color:#344054;background:#fff}.mode-entry.demo{border-color:#f5c56b;color:#8a4b00;background:#fff8e8}.workspace{min-width:0;padding:22px;display:grid;gap:16px;align-content:start}.workspace-header{min-height:84px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid #dfe5ec;padding-bottom:16px}.workspace-header h1{margin:2px 0 8px;font-size:24px;line-height:1.2;letter-spacing:0}.eyebrow{margin:0;color:#6b7280;font-size:12px;font-weight:700;text-transform:uppercase}.header-meta,.header-actions,.report-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.header-meta{color:#667085;font-size:13px}.summary-strip{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}.metric{min-height:70px;border:1px solid #dfe5ec;border-radius:8px;background:#fff;padding:12px;display:grid;grid-template-columns:24px 1fr;grid-template-rows:auto auto;column-gap:8px;align-content:center}.metric svg{grid-row:span 2;color:#2f6fed}.metric span{color:#667085;font-size:12px}.metric strong{font-size:18px;line-height:1.15}.workflow-panel,.panel{border:1px solid #dfe5ec;border-radius:8px;background:#fff;min-width:0}.workflow-panel{padding:14px}.section-title{min-height:38px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title h2{margin:0;font-size:15px}.section-title p{margin:3px 0 0;color:#667085;font-size:12px}.error-text{max-width:420px;color:#b42318;font-size:12px;line-height:1.5}.workflow-progress{min-height:74px;border:1px solid #dfe5ec;border-radius:8px;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,260px) 44px;align-items:center;gap:14px;margin-bottom:12px;background:#fbfcfe}.workflow-progress.active{border-color:#b9cef8;background:#f1f6ff}.workflow-progress.good{border-color:#abdbc2;background:#f0fbf5}.workflow-progress.bad{border-color:#fac5bd;background:#fff5f3}.workflow-progress.empty-progress{color:#667085}.progress-main{min-width:0;display:grid;gap:4px}.progress-main span{color:#667085;font-size:12px}.progress-main strong{overflow:hidden;color:#101828;font-size:16px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.progress-main small{overflow:hidden;color:#344054;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.progress-meter{height:9px;overflow:hidden;border-radius:999px;background:#e4e9f0}.progress-meter div{height:100%;border-radius:inherit;background:#2f6fed;transition:width .24s ease}.workflow-progress.good .progress-meter div{background:#12a05c}.workflow-progress.bad .progress-meter div{background:#d92d20}.workflow-progress b{color:#101828;font-size:14px;text-align:right}.workflow-timeline{display:grid;grid-template-columns:minmax(320px,1.35fr) minmax(280px,1fr) minmax(220px,.75fr);gap:10px;min-width:0}.timeline-stage{min-width:0;border:1px solid #e2e8f0;border-radius:8px;padding:12px;background:linear-gradient(180deg,#fff,#fbfcfe)}.timeline-stage.active{border-color:#b9cef8;box-shadow:inset 3px 0 #2f6fed}.timeline-stage.bad{border-color:#fac5bd;box-shadow:inset 3px 0 #d92d20}.timeline-stage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.timeline-stage-head div{min-width:0;display:grid;gap:3px}.timeline-stage-head strong{color:#101828;font-size:13px;line-height:1.2}.timeline-stage-head span{overflow:hidden;color:#667085;font-size:11px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.timeline-stage-head b{flex:0 0 auto;min-width:38px;height:22px;border-radius:999px;color:#344054;background:#eef2f7;font-size:12px;line-height:22px;text-align:center}.timeline-steps{display:grid;grid-template-columns:repeat(var(--step-count, 4),minmax(70px,1fr));gap:0}.timeline-stage:first-child .timeline-steps{grid-template-columns:repeat(5,minmax(64px,1fr))}.timeline-stage:nth-child(2) .timeline-steps{grid-template-columns:repeat(4,minmax(70px,1fr))}.timeline-stage:nth-child(3) .timeline-steps{grid-template-columns:repeat(2,minmax(84px,1fr))}.timeline-step{min-width:0;display:grid;grid-template-rows:22px auto auto;gap:5px;align-content:start}.timeline-marker-row{display:grid;grid-template-columns:22px 1fr;align-items:center;min-width:0}.timeline-dot{z-index:1;display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border:1px solid #d0d7e2;border-radius:999px;color:#667085;background:#fff}.timeline-dot svg{width:14px;height:14px}.timeline-line{height:2px;min-width:18px;background:#dfe5ec}.timeline-step strong,.timeline-step small{overflow:hidden;padding-right:8px;text-overflow:ellipsis;white-space:nowrap}.timeline-step strong{color:#101828;font-size:12px;line-height:1.2}.timeline-step small{color:#667085;font-size:11px;line-height:1.25}.timeline-step.good .timeline-dot,.badge.good{color:#087443;border-color:#abdbc2;background:#f0fbf5}.timeline-step.active .timeline-dot,.badge.active{color:#245ecb;border-color:#b9cef8;background:#f1f6ff}.timeline-step.bad .timeline-dot,.badge.bad{color:#b42318;border-color:#fac5bd;background:#fff5f3}.timeline-step.good .timeline-line{background:#abdbc2}.timeline-step.active .timeline-line{background:#b9cef8}.timeline-step.bad small{color:#b42318}.panel{padding:14px}.tab-panel{border:1px solid #dfe5ec;border-radius:8px;background:#fff;min-width:0;overflow:hidden}.workspace-tabs{display:flex;gap:4px;border-bottom:1px solid #edf1f5;padding:10px 12px 0;background:#fbfcfe}.workspace-tabs button{min-height:36px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#667085;padding:0 14px}.workspace-tabs button:hover,.workspace-tabs button.active{color:#174ea6;border-bottom-color:#2f6fed}.tab-panel>.panel{border:0;border-radius:0;background:#fff}.field-scroll{max-height:min(560px,calc(100vh - 390px));min-height:300px;overflow-y:auto;padding-right:4px;scrollbar-gutter:stable}.file-button{min-height:34px;border:1px solid #cfd6df;border-radius:6px;padding:0 12px;display:inline-flex;align-items:center;gap:7px;cursor:pointer;background:#fff}.file-button:hover{border-color:#2f6fed;color:#174ea6}.file-button.disabled{color:#9aa5b4;border-color:#dbe1e8;background:#f4f6f8;cursor:not-allowed}.file-button input{display:none}.doc-list{display:grid;gap:8px}.doc-row{min-height:58px;display:grid;grid-template-columns:22px minmax(0,1fr) auto 34px;align-items:center;gap:10px;border:1px solid #edf1f5;border-radius:8px;padding:10px;background:#fbfcfe}.doc-row.pending{border-color:#b9cef8;background:#f1f6ff}.doc-row strong,.doc-row span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-row span{color:#667085;font-size:12px}.doc-error{display:block;margin-top:4px;color:#b42318;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.inline-error{border:1px solid #fac5bd;border-radius:8px;padding:10px 12px;background:#fff5f3;color:#b42318;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.field-table{display:grid;gap:8px;min-width:0;overflow:visible}.field-head,.field-row{display:grid;grid-template-columns:minmax(112px,1.05fr) minmax(68px,.58fr) minmax(128px,1.15fr) minmax(70px,.44fr) minmax(70px,.44fr) 82px;gap:8px;align-items:center;min-width:0}.field-head{min-height:34px;color:#667085;font-size:12px;border-bottom:1px solid #edf1f5;position:sticky;top:0;z-index:1;background:#fff}.field-row{min-height:62px;border:1px solid #edf1f5;border-radius:8px;padding:9px 8px;background:#fff}.field-name{display:grid;min-width:0}.field-name strong,.field-name span,.source-chip,.field-head>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.field-name span{color:#667085;font-size:12px}.field-value-input{width:100%;min-width:0;height:36px;border:1px solid transparent;border-radius:6px;padding:6px 8px;color:#172033;background:#fff;font:inherit;font-weight:650;outline:none;text-overflow:ellipsis}.field-value-input:hover{border-color:#d0d7e2;background:#fbfcfe}.field-value-input:focus{border-color:#2f6fed;background:#fff;box-shadow:0 0 0 2px #2f6fed1f}.source-chip{max-width:100%;min-width:0;min-height:30px;border:1px solid #dfe5ec;border-radius:6px;padding:5px 8px;color:#3b4758;background:#fbfcfe;display:block}.source-chip.muted{color:#98a2b3}.row-actions{display:flex;min-width:0;gap:6px;justify-content:flex-end}.icon-button{width:34px;min-height:34px;padding:0}.good-action:hover{border-color:#12b76a;color:#087443}.danger-action:hover{border-color:#f97066;color:#b42318}.badge{width:fit-content;max-width:100%;border-radius:999px;padding:4px 8px;font-size:12px;white-space:nowrap;background:#eef2f6;color:#475467}.badge.good{background:#ecfdf3}.badge.active{background:#eff6ff}.badge.bad{background:#fff1f0}.badge.neutral{background:#eef2f6;color:#475467}.empty{min-height:132px;border:1px dashed #cfd6df;border-radius:8px;display:grid;place-items:center;padding:16px;color:#8a95a5;background:#fbfcfe;text-align:center}.report-preview h3{margin:14px 0 12px;font-size:18px;line-height:1.25}.report-preview h4{margin:14px 0 6px;font-size:14px}.report-preview p{margin:0;color:#475467;line-height:1.75}.download-link{color:#245ecb;text-decoration:none}.download-link:hover{text-decoration:underline}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#11182770;display:grid;place-items:center;padding:20px}.settings-modal{width:min(720px,100%);border:1px solid #dfe5ec;border-radius:8px;background:#fff;box-shadow:0 24px 70px #1118273d;padding:18px}.settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.settings-header h2{margin:2px 0 0;font-size:18px}.settings-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:4px;border:1px solid #dfe5ec;border-radius:8px;background:#f6f8fb;margin-bottom:16px}.settings-tabs button{justify-content:center;border-color:transparent;background:transparent;min-height:38px}.settings-tabs button.active{background:#fff;border-color:#cfd6df;color:#172033;box-shadow:0 1px 3px #11182714}.settings-section{min-height:320px}.form-field{display:grid;gap:6px;margin-bottom:12px}.form-field span,.settings-status{color:#667085;font-size:12px}.settings-status{min-height:32px;border-top:1px solid #edf1f5;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-status b{color:#087443}.connection-result{border-radius:8px;padding:10px 12px;margin-top:10px;display:grid;gap:4px;font-size:12px;line-height:1.5}.connection-result strong{font-size:13px}.connection-result span,.connection-result small{overflow-wrap:anywhere}.connection-result.good{border:1px solid #abdbc2;background:#f0fbf5;color:#087443}.connection-result.bad{border:1px solid #fac5bd;background:#fff5f3;color:#b42318}.settings-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.settings-card{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border:1px solid #dfe5ec;border-radius:8px;padding:14px;background:#fbfcfe;margin-bottom:12px}.settings-card strong{display:block;margin-bottom:6px;font-size:14px}.settings-card p{margin:0;color:#667085;font-size:13px;line-height:1.6}.settings-pill{flex:0 0 auto;border:1px solid #cfd6df;border-radius:999px;padding:5px 10px;color:#475467;font-size:12px;background:#fff}.settings-pill.good{border-color:#b7dfc3;color:#16703b;background:#f0fbf4}.settings-pill.warn{border-color:#f5c56b;color:#9a5b00;background:#fff8e8}.mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mode-switch button{min-height:118px;display:grid;align-content:start;justify-items:start;gap:8px;border:1px solid #dfe5ec;border-radius:8px;padding:14px;color:#172033;background:#fff;text-align:left}.mode-switch button.active{border-color:#2f6fed;background:#f4f8ff;box-shadow:0 0 0 2px #2f6fed1f}.mode-switch strong{font-size:14px}.mode-switch span{color:#667085;font-size:13px;line-height:1.55}.settings-list{border:1px solid #dfe5ec;border-radius:8px;overflow:hidden}.settings-list-row{min-height:54px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #edf1f5;font-size:13px}.settings-list-row:last-child{border-bottom:0}.settings-list-row span{display:grid;gap:4px;min-width:0;color:#172033}.settings-list-row small{color:#8a95a5;overflow-wrap:anywhere}.settings-list-row b{color:#475467;font-size:12px;font-weight:600;text-align:right}.confirm-modal{width:min(460px,100%);border:1px solid #f2b8ae;border-radius:8px;background:#fff;box-shadow:0 24px 70px #1118273d;padding:18px}.confirm-header{display:flex;align-items:flex-start;gap:12px}.confirm-icon{width:38px;height:38px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#b42318;background:#fff1ef;border:1px solid #fac5bd;flex:0 0 auto}.confirm-header h2{margin:0;font-size:18px}.confirm-header p{margin:6px 0 0;color:#667085;line-height:1.6;font-size:13px}.confirm-body{margin-top:16px;border:1px solid #edf1f5;border-radius:8px;padding:12px;display:grid;gap:5px;background:#fbfcfe}.confirm-body span{color:#667085;font-size:12px}.confirm-body strong{color:#172033;overflow-wrap:anywhere}.danger-button{color:#fff;border-color:#b42318;background:#d92d20}.danger-button:hover{color:#fff;border-color:#912018;background:#b42318}@media(max-width:1180px){.app-shell{grid-template-columns:1fr}.task-rail{border-right:0;border-bottom:1px solid #dfe5ec}.task-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));max-height:190px}.summary-strip{grid-template-columns:1fr}.workflow-timeline{grid-template-columns:minmax(620px,1fr);overflow-x:auto;padding-bottom:2px}.workflow-progress{grid-template-columns:1fr;gap:10px}.workflow-progress b{text-align:left}.field-scroll{max-height:520px}}@media(max-width:1460px)and (min-width:1181px){.field-head,.field-row{grid-template-columns:minmax(104px,1fr) minmax(58px,.48fr) minmax(118px,1.05fr) minmax(62px,.36fr) minmax(62px,.36fr) 76px;gap:7px}.field-row,.badge{padding-inline:7px}.icon-button{width:32px;min-height:32px}.row-actions{gap:5px}}@media(max-width:760px){.workspace{padding:14px}.workspace-header,.section-title{display:grid}.field-head{display:none}.field-row{grid-template-columns:1fr;align-items:start}.workspace-tabs{overflow-x:auto}.workspace-tabs button{flex:0 0 auto}.field-scroll{max-height:520px}}
