@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";.customer-shell .sidebar[data-v-f0743b4a]{background:#fffaf6;border-right-color:#f4e9df}.customer-shell .topbar[data-v-f0743b4a]{background:#fffdfb}.customer-shell .role-tag[data-v-f0743b4a]{color:#b95635;background:#fff0e8}.user-menu[data-v-f0743b4a]{position:relative}.user-trigger[data-v-f0743b4a]{display:flex;align-items:center;gap:9px;min-width:220px;padding:6px 10px 6px 7px;color:#26384a;background:#fff;border:1px solid #e2e8ee;border-radius:24px;text-align:left}.user-trigger[data-v-f0743b4a]:hover{border-color:#ffb59a;background:#fffaf7}.user-avatar[data-v-f0743b4a]{display:grid;place-items:center;width:30px;height:30px;flex:none;color:#fff;background:linear-gradient(135deg,#ff8758,#ff5d35);border-radius:50%;font-size:12px;font-weight:700}.user-copy[data-v-f0743b4a]{display:grid;min-width:0;line-height:1.2}.user-copy strong[data-v-f0743b4a]{max-width:158px;overflow:hidden;color:#253549;font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.user-copy small[data-v-f0743b4a]{margin-top:2px;color:#8a98a7;font-size:10px}.user-caret[data-v-f0743b4a]{margin-left:auto;color:#98a4b0;font-size:14px;transition:transform .18s ease}.user-caret.open[data-v-f0743b4a]{transform:rotate(180deg)}.user-dropdown[data-v-f0743b4a]{position:absolute;z-index:20;top:calc(100% + 8px);right:0;width:156px;padding:6px;background:#fff;border:1px solid #e8edf1;border-radius:10px;box-shadow:0 12px 32px #1b2a3a29}.user-dropdown button[data-v-f0743b4a]{display:flex;align-items:center;gap:9px;width:100%;padding:10px 12px;color:#495869;background:transparent;border:0;border-radius:7px;font-size:12px;text-align:left}.user-dropdown button[data-v-f0743b4a]:hover{color:#d94e2a;background:#fff2ed}.modal-mask[data-v-f0743b4a]{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#111f2d6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.password-dialog[data-v-f0743b4a]{width:min(100%,430px);padding:25px;background:#fff;border-radius:15px;box-shadow:0 24px 70px #101f2f3d}.password-dialog header[data-v-f0743b4a]{display:flex;align-items:start;justify-content:space-between;margin-bottom:21px}.password-dialog header h2[data-v-f0743b4a]{margin:0;color:#1f2e3d;font-size:18px}.password-dialog header p[data-v-f0743b4a]{margin:5px 0 0;color:#8995a2;font-size:12px}.password-dialog header>button[data-v-f0743b4a]{padding:0 4px;color:#9ba5af;background:transparent;border:0;font-size:24px;line-height:1}.password-dialog form[data-v-f0743b4a]{display:grid;gap:15px}.password-dialog label[data-v-f0743b4a]{display:grid;gap:7px;color:#526271;font-size:12px;font-weight:600}.password-dialog input[data-v-f0743b4a]{width:100%;padding:10px 12px;color:#233343;background:#fbfcfd;border:1px solid #dce4ea;border-radius:8px;outline:none}.password-dialog input[data-v-f0743b4a]:focus{border-color:#ff7a50;box-shadow:0 0 0 3px #ff6b351c}.password-error[data-v-f0743b4a]{padding:10px 12px;color:#b94332;background:#fff0ed;border-radius:8px;font-size:12px}.dialog-actions[data-v-f0743b4a]{display:flex;justify-content:flex-end;gap:9px;margin-top:5px}.dialog-actions button[data-v-f0743b4a]{padding:9px 16px;border-radius:8px;font-size:12px;font-weight:600}.dialog-cancel[data-v-f0743b4a]{color:#607181;background:#f2f5f7;border:0}.dialog-submit[data-v-f0743b4a]{color:#fff;background:#ff6739;border:0}.dialog-submit[data-v-f0743b4a]:disabled{opacity:.55;cursor:not-allowed}@media (max-width: 650px){.user-trigger[data-v-f0743b4a]{min-width:0}.user-copy[data-v-f0743b4a]{display:none}}:root{font-family:DM Sans,Noto Sans SC,sans-serif;color:#142234;background:#f4f7fb;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.shell{min-height:100vh;display:flex}.sidebar{width:244px;background:#112a3f;color:#e8f4f7;display:flex;flex-direction:column;padding:30px 18px;flex-shrink:0}.brand{display:flex;align-items:center;gap:12px;padding:0 13px 42px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#41cfb6;color:#123542;font-size:25px}.brand strong,.brand small{display:block}.brand strong{font-size:19px;letter-spacing:.5px}.brand small{font-size:11px;color:#8db2bd;margin-top:3px}.nav-label{font-size:11px;color:#7ea1af;letter-spacing:2px;margin:0 13px 12px}.nav{display:grid;gap:6px}.nav a{padding:13px 15px;border-radius:10px;color:#bdd1d8;font-size:14px;font-weight:600;transition:.2s}.nav a:hover,.nav a.router-link-active{background:#24465b;color:#fff}.nav a.router-link-active{box-shadow:inset 3px 0 #44d8b8}.sidebar-footer{margin-top:auto;padding:18px 13px 0;border-top:1px solid #2c485a;font-size:12px;color:#d7e7eb}.sidebar-footer small{display:block;margin-top:8px;color:#7ea1af}.system-dot{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#45d9a7}.main{flex:1;min-width:0}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:#fff;border-bottom:1px solid #e6ecf1}.crumb{color:#657588;font-size:13px}.crumb span{padding:0 9px;color:#b5c2cd}.top-actions{display:flex;align-items:center;gap:12px}.top-actions select{border:1px solid #dbe4eb;padding:8px 10px;border-radius:8px;background:#fff;color:#24394b}.demo-tag{padding:6px 9px;background:#fff3de;color:#986415;border-radius:20px;font-size:11px;font-weight:700}.user-pill{border:1px solid #e4ebef;border-radius:20px;padding:8px 12px;font-size:12px;color:#506579}.content{max-width:1440px;margin:0 auto;padding:42px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.eyebrow{font-size:11px;letter-spacing:2px;color:#00a889;font-weight:700;margin-bottom:8px}.page-head h1{font-size:29px;line-height:1.3;margin:0 0 7px;letter-spacing:-.5px}.page-head p{margin:0;color:#79899a;font-size:13px}.head-count,.back-link{background:#e9f5f3;color:#1d806e;border-radius:20px;padding:8px 13px;font-size:12px;font-weight:700;white-space:nowrap}.back-link:hover{background:#d8eeea}.two-col{display:grid;grid-template-columns:minmax(330px,1fr) minmax(360px,1.15fr);gap:22px;align-items:start}.card{background:#fff;border:1px solid #e6edf2;border-radius:17px;padding:27px;box-shadow:0 8px 26px #16344d09}.card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.card-title h2{font-size:17px;margin:0}.card-title span{font-size:11px;color:#9babb8;letter-spacing:.6px}.form{display:grid;gap:18px}.form label{display:grid;gap:8px;font-size:12px;font-weight:700;color:#516577}.form input,.form select,.form textarea,.node-fields input,.node-fields select{border:1px solid #dce6ec;background:#fbfcfd;border-radius:9px;padding:11px 12px;color:#1d2e3c;outline:0;min-width:0}.form input:focus,.form select:focus,.form textarea:focus,.node-fields input:focus,.node-fields select:focus{border-color:#40b9a2;box-shadow:0 0 0 3px #daf4ee}.form textarea{resize:vertical}.form .check{display:flex;align-items:center;gap:10px}.check input{width:16px;height:16px}.primary,.secondary,.danger{border:0;border-radius:9px;padding:11px 17px;font-size:13px;font-weight:700}.primary{background:#0e8e78;color:#fff}.primary:hover{background:#0a7866}.secondary{background:#e8f5f1;color:#16836f}.secondary:hover{background:#d4ebe5}.danger{background:#fae7e4;color:#bc4d40}.danger:hover{background:#f5d8d2}button:disabled{opacity:.55;cursor:not-allowed}.button-row{display:flex;gap:10px;margin-top:16px}.button-row button{flex:1}.list{margin:-6px -5px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 10px;border-bottom:1px solid #edf1f4}.list-row:last-child{border-bottom:0}.list-row:hover{background:#f8fbfa}.list-row strong,.list-row small{display:block}.list-row strong{font-size:14px}.list-row small{font-size:11px;color:#8c9aa7;margin-top:6px}.list-button{width:100%;background:none;border:0;text-align:left}.status{display:inline-flex;align-items:center;border-radius:30px;padding:6px 10px;background:#edf2f5;color:#637989;font-size:11px;font-weight:700;white-space:nowrap}.status.pending,.status.pending_internal,.status.pending_vivo{background:#fff1dc;color:#aa711d}.status.approved,.status.sent{background:#dff7eb;color:#1a9566}.status.rejected,.status.failed{background:#fdeae7;color:#bf5445}.status.missing_binding{background:#fff1dc;color:#aa711d}.empty{padding:42px 10px;text-align:center;color:#a2b0ba;font-size:13px}.alert{padding:13px 16px;border-radius:10px;margin-bottom:18px;font-size:13px}.alert.error{background:#fff0ed;color:#ac493d}.alert.success{background:#e6f7ee;color:#177c55}.hint{font-size:12px;line-height:1.6;color:#8b9ba8;margin:0}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px}.summary{background:#fff;border:1px solid #e6edf2;border-radius:13px;padding:18px 20px}.summary small,.summary strong{display:block}.summary small{color:#91a0ac;font-size:11px;margin-bottom:10px}.summary strong{font-size:14px}.description{font-size:13px;line-height:1.8;color:#617487;white-space:pre-wrap}.section-divider{height:1px;background:#ecf1f4;margin:24px 0}.timeline-row{display:flex;gap:13px;margin:18px 0}.timeline-dot{width:9px;height:9px;border-radius:50%;background:#39b89d;flex:none;margin-top:5px;box-shadow:0 0 0 4px #e1f6ef}.timeline-row strong,.timeline-row small{display:block}.timeline-row strong{font-size:13px}.timeline-row small{color:#92a1ad;font-size:11px;margin-top:4px}.timeline-row p{margin:7px 0 0;font-size:12px;color:#65798b}.stack{display:grid;gap:22px}.task-line{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #eef2f5;font-size:12px}.task-line:last-child{border:0}.task-line strong{font-size:11px;color:#7390a1}.task-line code{max-width:55%;overflow:hidden;text-overflow:ellipsis;color:#3d8f80}.task-line small{display:block;color:#94a4ad;margin-top:4px}.node-editor{display:flex;gap:11px;align-items:start}.node-number{height:31px;width:31px;flex:none;display:grid;place-items:center;border-radius:50%;background:#e5f5f0;color:#198d74;font-weight:700;font-size:12px}.node-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:1}.node-fields input:first-child{grid-column:1/-1}.icon-button,.text-button{border:0;background:transparent;color:#718798}.icon-button{font-size:22px}.text-button{font-size:12px}.notification-row{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #edf1f4;padding:13px 0}.notification-row strong,.notification-row small{display:block}.notification-row strong{font-size:12px}.notification-row small{font-size:11px;color:#8d9da9;margin-top:5px}.notification-row .failure{color:#c05d4c}@media (max-width:1000px){.sidebar{width:195px}.content{padding:28px}.topbar{padding:0 28px}.two-col{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:650px){.shell{display:block}.sidebar{width:100%;padding:15px}.brand{padding:0 0 14px}.nav-label,.sidebar-footer{display:none}.nav{display:flex;overflow-x:auto}.nav a{white-space:nowrap}.topbar{height:auto;padding:13px 18px;gap:10px;flex-wrap:wrap}.content{padding:22px 16px}.page-head{align-items:start}.page-head h1{font-size:24px}.head-count{display:none}.card{padding:20px}.summary-grid{grid-template-columns:1fr 1fr}}:root{font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif;color:#262626;background:#f5f7fa}body{background:#f5f7fa}.shell{display:grid;grid-template-columns:208px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;width:auto;padding:0 10px;background:#fff;color:#262626;border-right:1px solid #f0f0f0}.brand{padding:16px 6px 14px;gap:9px}.brand-mark{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,#ff8a5b,#ff6b35);color:#fff;font-size:20px}.brand strong{font-size:14px;letter-spacing:0;white-space:nowrap}.brand small{color:#8c8c8c;font-size:10.5px}.role-tag{align-self:flex-start;margin:0 6px 11px;padding:3px 9px;color:#c9401a;background:#fff3ed;border-radius:4px;font-size:11px;font-weight:600}.nav-label{margin:4px 10px 5px;color:#8c8c8c;letter-spacing:.5px;font-size:10.5px}.admin-nav-label{margin-top:18px}.nav{gap:1px}.nav a{padding:8px 10px;color:#595959;border-radius:6px;font-size:13px;font-weight:500}.nav a:hover{background:#f5f5f5;color:#262626}.nav a.router-link-active{background:#fff3ed;color:#c9401a;box-shadow:none;font-weight:600}.sidebar-footer{margin-top:auto;color:#595959;border-top:1px solid #f0f0f0}.sidebar-footer small{color:#8c8c8c}.system-dot{background:#52c41a}.topbar{height:56px;padding:0 26px;border-bottom:1px solid #f0f0f0}.crumb{color:#595959}.content{padding:26px}.page-head{margin-bottom:18px}.page-head h1{font-size:23px;color:#262626}.page-head p{color:#8c8c8c}.card{border:1px solid #f0f0f0;border-radius:8px;box-shadow:0 1px 2px #0000000a}.primary,.secondary,.danger{display:inline-flex;justify-content:center;align-items:center;border-radius:6px;padding:9px 14px}.primary{background:#ff6b35;color:#fff}.primary:hover{background:#f2551c}.secondary{background:#fff;color:#595959;border:1px solid #d9d9d9}.secondary:hover{background:#fafafa}.form input:focus,.form select:focus,.form textarea:focus,.node-fields input:focus,.node-fields select:focus{border-color:#ff6b35;box-shadow:0 0 0 3px #ff6b3524}.status.pending,.status.pending_internal,.status.pending_vivo{background:#fff7e6;color:#d46b08}.status.approved,.status.sent{background:#f6ffed;color:#389e0d}.status.rejected,.status.failed{background:#fff1f0;color:#cf1322}.back-link,.head-count{background:#fff3ed;color:#c9401a}.timeline-dot{background:#ff6b35;box-shadow:0 0 0 4px #fff3ed}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.kpi{background:#fff;border:1px solid #f0f0f0;border-radius:8px;padding:18px}.kpi span,.kpi strong,.kpi small{display:block}.kpi span{color:#595959;font-size:12px}.kpi strong{margin:7px 0;font-size:25px;line-height:1.2}.kpi small{color:#8c8c8c;font-size:11px}.list-card{padding:0;overflow:hidden}.tabs{display:flex;align-items:center;flex-wrap:wrap;border-bottom:1px solid #f0f0f0;padding:0 15px;gap:4px}.tabs button{padding:14px 10px 11px;border:0;border-bottom:2px solid transparent;background:transparent;color:#595959;font-size:12px}.tabs button.active{color:#ff6b35;border-bottom-color:#ff6b35;font-weight:700}.tabs button span{color:#8c8c8c;font-size:10px;margin-left:4px}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{background:#fafafa;color:#8c8c8c;text-align:left;font-weight:600;white-space:nowrap}.data-table td,.data-table th{padding:13px 16px;border-bottom:1px solid #f0f0f0}.data-table td strong,.data-table td small{display:block}.data-table td small{color:#8c8c8c;margin-top:3px}.text-link{color:#1677ff;font-weight:600;white-space:nowrap}.steps{display:flex;gap:10px;align-items:center;margin:0 0 18px}.step{color:#8c8c8c;font-size:12px;padding:7px 14px;background:#fff;border:1px solid #f0f0f0;border-radius:20px}.step.done{color:#389e0d;background:#f6ffed}.step.active{color:#c9401a;background:#fff3ed;border-color:#ffd3bf}.type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.type-card{min-height:96px;display:grid;grid-template-columns:auto 1fr;align-content:start;column-gap:9px;text-align:left;border:1px solid #f0f0f0;border-radius:8px;padding:14px;background:#fff}.type-card:hover,.type-card.selected{border-color:#ff6b35;box-shadow:0 0 0 2px #ff6b3514}.type-card strong{font-size:13px;align-self:center}.type-card small{grid-column:1 / -1;color:#8c8c8c;margin-top:8px;line-height:1.5}.type-code{display:inline-flex;align-items:center;justify-content:center;width:30px;height:26px;border-radius:4px;background:#fff3ed;color:#c9401a;font-size:10px;font-weight:700}.demand-card{padding:22px}.hint-bar{padding:10px 12px;border:1px solid #91caff;border-radius:6px;background:#e6f4ff;color:#0958d9;font-size:12px}.demand-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;margin-top:22px}.demand-field{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:12px}.demand-field.wide{grid-column:1 / -1}.demand-field>label{color:#595959;font-weight:600}.demand-field em{color:#ff4d4f;font-style:normal}.demand-field>input,.demand-field>select,.demand-field>textarea{width:100%;padding:9px 11px;border:1px solid #d9d9d9;border-radius:6px;background:#fff;color:#262626;outline:none}.demand-field>input:focus,.demand-field>select:focus,.demand-field>textarea:focus{border-color:#ff6b35;box-shadow:0 0 0 3px #ff6b3524}.demand-field>small{color:#8c8c8c}.choices{display:flex;gap:16px;flex-wrap:wrap;min-height:39px;align-items:center}.choices label{display:flex;align-items:center;gap:5px;white-space:nowrap}.choices input{accent-color:#ff6b35}.form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #f0f0f0;padding-top:18px}.detail-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.detail-fields>div{display:grid;gap:3px;padding-bottom:10px;border-bottom:1px solid #f0f0f0}.detail-fields small{color:#8c8c8c}.detail-fields strong{font-size:13px;font-weight:500;overflow-wrap:anywhere}@media (max-width: 1050px){.type-grid,.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 700px){.shell{display:block}.sidebar{position:relative;width:100%;height:auto;padding-bottom:10px}.role-tag,.sidebar-footer,.nav-label{display:none}.nav{display:flex;overflow-x:auto}.nav a{white-space:nowrap}.content{padding:18px}.type-grid,.demand-form{grid-template-columns:1fr}.demand-field.wide,.form-actions{grid-column:1}.kpi-grid{grid-template-columns:repeat(2,1fr)}.topbar{padding:12px 18px}}
