/* 基础样式提取自 UI 原型 v1.1，保证视觉一致 */

:root{--ink:#1c2540;--muted:#7c879c;--bg:#f5f6fc;--card:#fff;--line:#e9edf5;--purple:#6558e9;--blue:#4686ee;--mint:#2eb9a5;--orange:#f0a357;--red:#e66977;--side:#202b50;--radius:19px;--shadow:0 5px 26px rgba(37,52,100,.05)}
*{box-sizing:border-box}body{margin:0;font:14px/1.55 "Microsoft YaHei","PingFang SC","Noto Sans CJK SC",system-ui,sans-serif;color:var(--ink);background:var(--bg)}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit;text-decoration:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a5abff;outline-offset:2px}
.app{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;padding:25px 15px;background:linear-gradient(172deg,#242b53,#172343 75%);color:#dbe1f5;z-index:20;display:flex;flex-direction:column;gap:25px}.brand{display:flex;align-items:center;gap:11px;padding:2px 12px 8px}.logo{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:linear-gradient(145deg,#a4b2ff,#7167ef);box-shadow:0 7px 18px #7365ec63;color:white}.brand h1{font-size:18px;color:#fff;margin:0;letter-spacing:.5px}.brand small{display:block;font-size:10px;color:#9eaccf;margin-top:2px}.side-label{font-size:11px;color:#8190b1;margin:0 12px 7px;letter-spacing:1px}.nav{display:flex;flex-direction:column;gap:5px}.navitem{background:none;border:0;color:#b4c0dd;border-radius:12px;padding:11px 14px;display:flex;align-items:center;gap:13px;text-align:left;font-weight:500;width:100%;transition:background .15s,color .15s}.navitem svg{width:19px;height:19px;stroke-width:1.85}.navitem:hover{background:#ffffff12;color:white}.navitem.active{background:linear-gradient(90deg,#706cf4,#5b6fe1);color:white;box-shadow:0 4px 17px #5d6ce93b}.sidebar-footer{margin-top:auto;border-radius:15px;padding:14px;background:#ffffff0b;border:1px solid #ffffff14}.user-avatar{width:36px;height:36px;border-radius:12px;background:#d0a9fa;color:#3a2963;display:grid;place-items:center;font-weight:700}.tiny{font-size:11px;color:#9eabc1}.main{margin-left:232px;flex:1;min-width:0;max-width:calc(100% - 232px)}.topbar{min-height:76px;padding:14px 34px;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #eef0f7;position:sticky;top:0;z-index:10}.breadcrumb{display:flex;gap:9px;align-items:center;color:#818aa0;font-size:12px}.breadcrumb strong{font-size:14px;color:#253153}.top-actions{display:flex;align-items:center;gap:13px}.search{display:flex;gap:9px;align-items:center;background:#f4f6fb;border:1px solid #eff1f6;padding:9px 13px;border-radius:11px;width:226px;color:#8794aa}.search input{width:100%;border:0;background:transparent;outline:none;font-size:12px;color:#36425d}.role-switch{border:1px solid var(--line);border-radius:12px;padding:9px 13px;background:#fff;color:#26324a;max-width:150px;font-size:12px}.icon-btn{border:0;background:#f5f6fb;border-radius:12px;width:38px;height:38px;display:grid;place-items:center;color:#61708e}.content{max-width:1600px;margin:auto;padding:29px 34px 50px}.page-top{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:22px}.page-top h2{margin:0 0 5px;font-size:25px;letter-spacing:-.6px}.subtitle{color:var(--muted);font-size:12px}.btn{border:0;border-radius:11px;padding:10px 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:600;white-space:nowrap;transition:.15s}.btn svg{width:16px;height:16px}.btn.primary{background:#6459e9;color:#fff;box-shadow:0 6px 15px #6558e92d}.btn.primary:hover{background:#5043d6}.btn.ghost{background:#fff;color:#485675;border:1px solid var(--line)}.btn.mint{background:#e5faf3;color:#20997d}.btn.softred{background:#fff0f2;color:#d35b6b}.btn:active{transform:translateY(1px)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:24px 0 14px}.section-head h3{font-size:16px;margin:0}.section-head button{border:0;background:none;color:#7164e6;font-size:12px;font-weight:600}.card{background:var(--card);border:1px solid #edf0f7;border-radius:var(--radius);box-shadow:var(--shadow)}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.kpi{padding:19px;position:relative;overflow:hidden;min-height:128px}.kpi .mini-ico{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;margin-bottom:8px}.kpi .mini-ico svg{width:19px;height:19px}.kpi .number{font-size:26px;font-weight:750;letter-spacing:-1px;line-height:1.25}.kpi .metric-lbl{color:#8792a8;font-size:12px}.kpi .trend{font-size:11px;color:#44a58b;margin-left:6px}.kpi:after{position:absolute;content:"";width:94px;height:94px;border-radius:100%;right:-34px;top:-24px;opacity:.09;background:currentColor}.purple{color:#745de6}.blue{color:#3e84e9}.mint-color{color:#20a899}.amber{color:#e89b4b}.hero{background:linear-gradient(105deg,#7773ef 4%,#637ded 48%,#5aa7e7);color:#fff;min-height:167px;border-radius:21px;padding:26px 30px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.hero:before,.hero:after{content:"";position:absolute;border:1px solid #ffffff30;border-radius:50%;width:250px;height:250px;right:35px;top:-138px}.hero:after{width:350px;height:350px;right:-120px;top:45px}.hero h2{font-size:21px;margin:0 0 9px}.hero p{margin:0;opacity:.9;font-size:12px;max-width:520px}.hero .btn{margin-top:16px;background:#fff;color:#5f62d7;position:relative}.hero-icon{width:128px;height:128px;border-radius:34px;background:#ffffff22;display:grid;place-items:center;transform:rotate(-12deg);margin-right:54px;z-index:1;backdrop-filter:blur(7px)}.hero-icon svg{width:66px;height:66px;transform:rotate(12deg);stroke:#fff;stroke-width:1.2}.two-col{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:17px}.projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.project{padding:18px;min-height:168px;cursor:pointer;transition:transform .15s}.project:hover,.task-card:hover{transform:translateY(-2px)}.project .proj-header{display:flex;align-items:center;justify-content:space-between}.project .projicon{display:grid;place-items:center;width:38px;height:38px;border-radius:13px}.project .projicon svg{width:20px;height:20px}.project h4{margin:14px 0 7px;font-size:14px}.project p{font-size:11px;margin:0 0 13px;color:#93a0b2}.bar{height:7px;border-radius:20px;background:#ecf0f6;overflow:hidden}.bar span{display:block;height:100%;border-radius:inherit;background:var(--barcolor,#6d73e8)}.progress-foot{display:flex;justify-content:space-between;font-size:11px;color:#8994a6;margin-top:8px}.right-panel{padding:19px}.mini-heading{display:flex;justify-content:space-between;align-items:center;font-weight:700;margin-bottom:13px}.review-item{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid #f0f2f7}.review-item:last-child{border:0}.avatar{width:35px;height:35px;border-radius:12px;background:var(--avatar,#e9e5ff);color:var(--avatar-ink,#6556d5);display:grid;place-items:center;font-weight:700;font-size:12px;flex-shrink:0}.review-item .info{flex:1;min-width:0}.review-item .info b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.review-item .info span{font-size:11px;color:#99a4b5}.pill{display:inline-flex;padding:4px 8px;border-radius:20px;font-size:10px;font-weight:700;white-space:nowrap}.p-review{background:#fff3e6;color:#de9644}.p-work{background:#ecf2ff;color:#5481db}.p-revise{background:#ffe9ed;color:#d76576}.p-done{background:#e2f9f0;color:#21a47e}.p-wait{background:#f1f2f6;color:#8d97a6}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.data-table th{color:#8f9bb0;font-weight:500;background:#fafbfe}.data-table td,.data-table th{padding:13px 15px;border-bottom:1px solid #eff1f6}.data-table tr:last-child td{border:0}.data-table tr:hover td{background:#fafbff}.table-wrap{overflow-x:auto;border-radius:18px}.task-name{font-weight:600}.muted{color:#8f9bb0}.task-stamp{font-size:11px;color:#8b95a8}.small-link{border:0;background:none;color:#6863e1;font-weight:600;padding:5px}.filter-strip{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:0 0 17px}.chip{background:#fff;border:1px solid #e6eaf3;border-radius:10px;padding:8px 14px;color:#76829a;font-size:12px}.chip.active{background:#ebeafe;border-color:#d3d0ff;color:#6157ce;font-weight:700}.board{display:grid;grid-template-columns:repeat(4,minmax(208px,1fr));gap:15px;align-items:start}.lane{background:#eff1fa;border-radius:17px;padding:12px;min-height:330px}.lane-head{display:flex;justify-content:space-between;align-items:center;padding:4px 5px 15px;font-size:12px;font-weight:700}.lane-count{background:#fff;padding:2px 8px;border-radius:8px;color:#8a96ac}.task-card{padding:15px;margin-bottom:12px;cursor:pointer;transition:transform .15s}.task-card .tag{font-size:10px;color:#5c6f91;background:#f2f5fc;padding:4px 8px;border-radius:8px}.task-card h4{margin:12px 0 8px;font-size:12px;line-height:1.6;min-height:40px}.task-card p{font-size:11px;color:#8a94a7;margin:0 0 12px}.task-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #f1f2f7;padding-top:10px;color:#9ba4b3;font-size:11px}.empty{border:1px dashed #d6dbea;border-radius:13px;padding:27px 10px;text-align:center;font-size:12px;color:#9aa6b8}.workflow-list{display:grid;grid-template-columns:265px minmax(0,1fr);gap:17px}.template-card{display:block;text-align:left;width:100%;border:1px solid #edf0f7;background:#fff;border-radius:14px;padding:15px;margin:0 0 10px}.template-card.selected{border-color:#9b98f4;background:#f8f7ff;box-shadow:0 0 0 2px #a09cff1b}.template-card b{display:block;font-size:13px;margin-bottom:4px}.template-card span{color:#8995a9;font-size:11px}.flow-canvas{padding:20px;min-height:470px}.flow-canvas-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.flow-map{margin-top:20px;display:flex;flex-direction:column;align-items:center;gap:8px}.flow-node{width:min(360px,100%);border:1px solid #e9eaf2;border-radius:14px;background:#fff;padding:13px 16px;display:flex;gap:11px;align-items:center;text-align:left;cursor:pointer}.flow-node.selected{box-shadow:0 0 0 2px #c4bfff;border-color:#a59df4}.flow-node .node-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#ebe9ff;color:#6f60e8}.flow-node b{font-size:12px}.flow-node span{font-size:10px;color:#929bad}.node-arrow{color:#a7b2c3}.agents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.agent-card{padding:19px}.agent-top{display:flex;align-items:center;justify-content:space-between}.agent-icon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center}.agent-card h4{margin:17px 0 7px}.agent-card p{color:#929cb0;font-size:11px;min-height:49px}.agent-card .btn{width:100%;margin-top:9px}.agent-console{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:17px}.form-field{margin-bottom:16px}.form-field label{display:block;font-size:12px;font-weight:700;margin-bottom:7px}.form-field input,.form-field textarea,.form-field select{width:100%;border:1px solid #e1e6f1;background:#fff;padding:11px 12px;border-radius:10px;color:#334056;font-size:12px}.form-field textarea{min-height:90px;resize:vertical}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.resource-card{padding:16px;cursor:pointer}.resource-preview{height:95px;border-radius:12px;margin-bottom:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--a,#f0edff),var(--b,#d6e9fc))}.resource-preview svg{width:36px;height:36px;color:var(--c,#7063dc)}.resource-card b{display:block;font-size:12px}.resource-card p{font-size:11px;color:#9ba4b4}.chart-area{min-height:230px;padding:15px 20px}.chart-bars{height:155px;display:flex;align-items:flex-end;justify-content:space-around;border-bottom:1px solid #e9ecf5;gap:12px;padding-top:16px}.chart-bars .week{display:flex;align-items:center;justify-content:flex-end;flex-direction:column;gap:9px;flex:1;height:100%;font-size:11px;color:#939fb1}.chart-bars .column{border-radius:9px 9px 0 0;width:min(38px,100%);background:linear-gradient(#8679f4,#6a71e5);min-height:7px}.orggrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.orgcard{padding:19px}.orgline{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-top:1px solid #f0f2f7;font-size:12px}.overlay{position:fixed;inset:0;background:#151b3570;z-index:100;display:none;align-items:center;justify-content:center;padding:16px}.overlay.show{display:flex}.modal{background:#fff;width:min(560px,100%);max-height:90vh;overflow:auto;border-radius:22px;box-shadow:0 25px 100px #141c3144}.modal-head{padding:22px 25px 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f0f1f6}.modal-head h3{margin:0;font-size:18px}.modal-body{padding:21px 25px}.modal-foot{padding:15px 25px 24px;display:flex;justify-content:flex-end;gap:10px}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid #f1f2f7;font-size:12px;gap:10px}.detail-row span:first-child{color:#929bad}.detail-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:18px}.toast{position:fixed;bottom:28px;right:26px;z-index:150;background:#253256;color:white;padding:12px 18px;border-radius:12px;box-shadow:0 12px 35px #15204c33;opacity:0;transform:translateY(12px);transition:.2s;max-width:380px;font-size:12px;pointer-events:none}.toast.show{opacity:1;transform:none}.empty-state{padding:48px 18px;text-align:center;color:#91a0b4}.empty-state svg{color:#aaa6df;width:38px;height:38px}.empty-state h3{color:#526079}.spaced{margin-top:15px}.mobile-menu,.mobile-backdrop{display:none}.notice{background:#f1f0ff;color:#6257ba;padding:11px 14px;border-radius:11px;font-size:11px;margin-bottom:15px}.review-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.review-card{padding:17px}.review-card h4{margin:10px 0}.review-meta{color:#8997aa;font-size:11px;display:flex;gap:14px;flex-wrap:wrap}.review-actions{display:flex;gap:9px;margin-top:16px}.stat-progress{display:flex;align-items:center;gap:12px;margin:13px 0}.stat-progress label{width:82px;font-size:11px;color:#77839a;flex-shrink:0}.stat-progress .bar{flex:1}.stat-progress em{font-size:11px;font-style:normal;color:#78849a;width:34px;text-align:right}.footnote{color:#9a9fb2;font-size:11px;margin-top:16px}.hide{display:none!important}
@media(max-width:1160px){.sidebar{width:208px}.main{margin-left:208px;max-width:calc(100% - 208px)}.content{padding:24px}.topbar{padding:14px 24px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.agents,.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.board{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-icon{margin-right:25px}}
@media(max-width:760px){.business-grid{grid-template-columns:1fr!important}.app{display:block}.sidebar{transform:translateX(-100%);transition:transform .2s;width:256px}.sidebar.show{transform:translateX(0)}.main{margin:0;max-width:100%}.mobile-menu{display:grid}.mobile-backdrop.show{display:block;position:fixed;inset:0;background:#0006;z-index:19}.topbar{padding:12px 17px;min-height:62px}.breadcrumb span{display:none}.search{display:none}.role-switch{max-width:128px;padding:9px;font-size:11px}.content{padding:20px 15px 34px}.page-top{align-items:start}.page-top h2{font-size:21px}.page-top .btn{padding:9px 10px}.hero{padding:25px;min-height:157px}.hero h2{font-size:19px}.hero-icon{display:none}.kpi-grid{gap:10px}.kpi{padding:15px;min-height:121px}.kpi .number{font-size:23px}.two-col,.workflow-list,.orggrid,.agent-console{grid-template-columns:1fr}.projects{gap:11px}.project{padding:14px}.agents,.resource-grid,.review-cards{grid-template-columns:1fr}.board{grid-template-columns:1fr}.lane{min-height:130px}.section-head{margin-top:20px}.top-actions{gap:7px}.breadcrumb strong{font-size:12px}.icon-btn{width:34px;height:34px}.data-table{min-width:0;display:block}.data-table thead{display:none}.data-table tbody{display:block;padding:8px}.data-table tbody tr{display:block;border:1px solid #edf0f6;border-radius:12px;margin-bottom:10px;padding:9px 12px;background:#fff}.data-table td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 1px;border-bottom:1px dashed #eef0f6;text-align:right;white-space:normal}.data-table td:first-child{text-align:right;font-weight:700}.data-table td:last-child{border:0}.data-table td:before{content:attr(data-label);font-weight:400;color:#98a1b4;flex-shrink:0;font-size:11px;text-align:left}.modal-body{padding:18px}.modal-head{padding:18px}.modal-foot{padding:15px 18px}.flow-canvas{min-height:auto}}
@media(min-width:1600px){.content{padding-left:45px;padding-right:45px}.topbar{padding-left:45px;padding-right:45px}}

/* 平台新增：表单与业务卡片统计样式 */
.form-label{display:block;font-size:12px;color:#7c879c;margin-bottom:6px}
.form-input{width:100%;border:1px solid var(--line);border-radius:11px;padding:10px 13px;background:#fbfcff;color:var(--ink)}
.form-input:focus{background:#fff}
textarea.form-input{resize:vertical}
.form-row{display:flex;gap:12px;align-items:flex-end;margin-bottom:12px;flex-wrap:wrap}
.business-stats{display:flex;gap:18px;font-size:12px;color:#7c879c;margin-top:10px}
.business-stats b{color:var(--ink)}
.business-flow{display:flex;gap:8px;align-items:center;font-size:11px;color:#98a1b4;margin-top:6px;border-top:1px dashed var(--line);padding-top:8px}
.business-flow b{color:#5d6890}
