:root{font-family:Inter,Microsoft YaHei UI,Microsoft YaHei,system-ui,sans-serif;color:#17212b;background:#eef2f5;font-synthesis:none;text-rendering:optimizeLegibility;--navy-950: #111c27;--navy-900: #172533;--navy-800: #213345;--line: #dfe6eb;--muted: #6f7d89;--green: #10a678;--green-soft: #e6f7f1;--blue: #3978f6;--orange: #f49b45;--red: #e85b61;--shadow: 0 8px 22px rgba(27, 43, 58, .08)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:flex;width:100%;height:100vh;min-width:1080px;background:#eef2f5}.sidebar{display:flex;flex:0 0 238px;flex-direction:column;color:#d8e1e8;background:radial-gradient(circle at 28px 38px,rgba(29,194,145,.15),transparent 130px),linear-gradient(180deg,var(--navy-900),var(--navy-950));border-right:1px solid rgba(255,255,255,.04)}.brand{display:flex;align-items:center;gap:11px;height:66px;padding:0 18px;border-bottom:1px solid rgba(255,255,255,.07)}.brand-mark{display:grid;width:35px;height:35px;place-items:center;color:#fff;background:linear-gradient(135deg,#16c894,#0e8d6d);border-radius:10px;box-shadow:0 5px 18px #0cb18147}.brand strong{display:block;color:#fff;font-size:15px;letter-spacing:.2px}.brand small{display:block;margin-top:3px;color:#8192a0;font-size:11px}.sidebar-scroll{flex:1;overflow:auto;padding:13px 10px 18px;scrollbar-width:thin}.nav-caption{margin:12px 10px 7px;color:#718392;font-size:11px;letter-spacing:1px}.nav-group-title,.nav-item{display:flex;width:100%;align-items:center;gap:10px;color:#aebbc5;background:transparent;border:0;border-radius:7px;text-align:left}.nav-group-title{min-height:43px;padding:0 11px;color:#f3f7f9;font-weight:700}.nav-group-title.active{color:#fff;background:linear-gradient(90deg,#17be8f38,#17be8f0d)}.nav-group-title .chevron{margin-left:auto;color:#758694}.nav-group-title .badge{margin-left:auto}.nav-item{position:relative;min-height:36px;margin-top:2px;padding:0 10px 0 38px;font-size:13px}.nav-item:hover{color:#eef4f6;background:#ffffff0a}.nav-item.active{color:#47dfb1;background:#14af841f}.nav-item.active:before{position:absolute;left:0;width:3px;height:18px;background:#21c797;border-radius:0 4px 4px 0;content:""}.nav-item .nav-count{margin-left:auto;color:#8696a2;font-size:11px}.sidebar-foot{padding:13px 14px;background:#0000001f;border-top:1px solid rgba(255,255,255,.06)}.worker-state{display:flex;align-items:center;gap:9px}.worker-state strong{display:block;color:#eaf2f5;font-size:12px}.worker-state small{color:#758896;font-size:11px}.pulse-dot,.status-dot{width:8px;height:8px;flex:none;background:#20cc94;border-radius:50%;box-shadow:0 0 0 4px #20cc941f}.main-area{display:flex;min-width:0;flex:1;flex-direction:column}.topbar{display:flex;height:55px;flex:0 0 55px;align-items:center;gap:18px;padding:0 18px;background:#fff;border-bottom:1px solid var(--line)}.page-identity{min-width:150px}.page-identity strong{display:block;font-size:15px}.page-identity span{color:#8b98a2;font-size:11px}.global-search{display:flex;max-width:520px;height:33px;flex:1;align-items:center;gap:8px;padding:0 11px;color:#8996a0;background:#f4f7f8;border:1px solid #e4e9ed;border-radius:6px}.global-search input{min-width:0;flex:1;color:#39444d;background:transparent;border:0;outline:0;font-size:12px}.top-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.icon-btn,.ghost-btn,.primary-btn,.soft-btn,.danger-btn{display:inline-flex;min-height:32px;align-items:center;justify-content:center;gap:7px;padding:0 11px;border-radius:6px;font-size:12px;font-weight:600}.icon-btn{width:32px;padding:0;color:#66747f;background:#fff;border:1px solid #e3e9ed}.ghost-btn{color:#4d5b65;background:#fff;border:1px solid #dfe6eb}.primary-btn{color:#fff;background:#0fa678;border:1px solid #0b956b;box-shadow:0 3px 8px #0fa6782b}.soft-btn{color:#087c59;background:#e8f7f2;border:1px solid #bce9da}.danger-btn{color:#d8454c;background:#fff3f3;border:1px solid #f0c8ca}.icon-btn:hover,.ghost-btn:hover{background:#f5f8f9}.primary-btn:hover{background:#0b966c}.avatar{display:grid;width:32px;height:32px;place-items:center;color:#fff;background:linear-gradient(135deg,#546b7c,#283c4c);border-radius:50%;font-size:12px;font-weight:700}.tab-strip{display:flex;height:39px;flex:0 0 39px;align-items:flex-end;gap:3px;overflow-x:auto;padding:4px 12px 0;background:#f4f6f7;border-bottom:1px solid #d9e1e6;scrollbar-width:thin}.work-tab{display:flex;height:34px;min-width:118px;max-width:188px;align-items:center;gap:7px;padding:0 8px 0 11px;color:#62707a;background:#e7ecef;border:1px solid #dae2e7;border-bottom:0;border-radius:6px 6px 0 0;font-size:12px}.work-tab.active{color:#17242d;background:#fff;border-color:#d6dfe4;box-shadow:0 -2px #13a979 inset}.work-tab span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-close{display:grid;width:17px;height:17px;margin-left:auto;place-items:center;color:#89959e;background:transparent;border:0;border-radius:4px}.tab-close:hover{color:#d64e54;background:#f8dddd}.content{min-height:0;flex:1;overflow:auto;padding:15px 17px 28px}.content-wrap{width:100%;max-width:1700px;margin:0 auto}.page-heading{display:flex;align-items:flex-start;gap:16px;margin:2px 0 14px}.page-heading h1{margin:0;color:#17232d;font-size:20px;line-height:1.35}.page-heading p{margin:5px 0 0;color:#73818b;font-size:12px}.page-heading .heading-actions{display:flex;gap:8px;margin-left:auto}.badge,.status-pill,.mini-label{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;white-space:nowrap}.badge{min-width:19px;height:19px;padding:0 6px;color:#b8c5ce;background:#ffffff17;font-size:10px}.status-pill{gap:5px;min-height:23px;padding:0 8px;font-size:11px;font-weight:600}.status-pill.online,.status-pill.success{color:#087c59;background:#e4f7f0}.status-pill.offline,.status-pill.danger{color:#cf454c;background:#fff0f0}.status-pill.warning{color:#b66b18;background:#fff4e5}.status-pill.info{color:#3067ce;background:#eaf1ff}.mini-label{min-height:20px;padding:0 7px;color:#66737d;background:#eef2f4;font-size:10px}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:11px;margin-bottom:12px}.metric-card,.panel,.architecture-card,.placeholder-card{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 1px 2px #192a3905}.metric-card{position:relative;min-height:102px;overflow:hidden;padding:14px 15px}.metric-card:after{position:absolute;top:-22px;right:-18px;width:72px;height:72px;background:var(--metric-soft, #eef5ff);border-radius:50%;content:""}.metric-card .metric-icon{position:absolute;z-index:1;top:12px;right:13px;color:var(--metric-color, #3978f6)}.metric-label{color:#73808a;font-size:11px}.metric-value{margin-top:8px;color:#17232d;font-size:24px;font-weight:750;letter-spacing:-.5px}.metric-foot{margin-top:5px;color:#8a969f;font-size:10px}.metric-foot strong{color:#0d9e72}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr);gap:12px}.panel{min-width:0;margin-bottom:12px}.panel-header{display:flex;min-height:48px;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid #e6ebef}.panel-header h2{margin:0;font-size:14px}.panel-header p{margin:0;color:#8b969e;font-size:10px}.panel-header .panel-actions{display:flex;align-items:center;gap:7px;margin-left:auto}.panel-body{padding:14px}.chart-shell{position:relative;height:228px;overflow:hidden;padding:18px 15px 26px 45px;background:linear-gradient(to bottom,transparent 24%,#edf1f4 25%,transparent 25.8%,transparent 49%,#edf1f4 50%,transparent 50.8%,transparent 74%,#edf1f4 75%,transparent 75.8%),#fff}.chart-y{position:absolute;top:17px;bottom:24px;left:11px;display:flex;flex-direction:column;justify-content:space-between;color:#9aa5ad;font-size:9px}.bars{display:flex;height:100%;align-items:flex-end;justify-content:space-between;gap:8px;border-bottom:1px solid #dfe6ea}.bar-group{display:flex;height:100%;flex:1;align-items:flex-end;justify-content:center;gap:4px}.bar{width:min(16px,42%);min-height:4px;border-radius:3px 3px 0 0}.bar.spend{background:#4a82ef}.bar.gmv{background:#18ba8b}.chart-x{position:absolute;right:13px;bottom:6px;left:45px;display:flex;justify-content:space-around;color:#8d99a1;font-size:9px}.chart-legend{display:flex;gap:13px;color:#6c7982;font-size:10px}.legend-dot{display:inline-block;width:7px;height:7px;margin-right:4px;border-radius:2px}.health-list,.activity-list,.simple-list{display:flex;flex-direction:column}.health-row,.activity-row,.simple-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #edf1f3}.health-row:last-child,.activity-row:last-child,.simple-row:last-child{border-bottom:0}.health-icon{display:grid;width:31px;height:31px;flex:none;place-items:center;color:#3877e6;background:#edf3ff;border-radius:7px}.health-copy,.activity-copy{min-width:0;flex:1}.health-copy strong,.activity-copy strong,.simple-row strong{display:block;color:#2b3740;font-size:12px}.health-copy small,.activity-copy small,.simple-row small{display:block;margin-top:3px;overflow:hidden;color:#87939b;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.health-value{color:#697680;font-size:10px;text-align:right}.activity-time{align-self:flex-start;color:#a0aab1;font-size:9px}.table-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;background:#fafbfc;border-bottom:1px solid #e6ebee}.filter-input{display:flex;min-width:220px;height:31px;align-items:center;gap:7px;padding:0 9px;color:#8a969e;background:#fff;border:1px solid #dfe6ea;border-radius:5px}.filter-input input{min-width:0;flex:1;background:transparent;border:0;outline:0;font-size:11px}.select-box{height:31px;padding:0 28px 0 9px;color:#56636d;background:#fff;border:1px solid #dfe6ea;border-radius:5px;outline:none;font-size:11px}.data-table-wrap{width:100%;overflow-x:auto}.data-table{width:100%;min-width:880px;border-collapse:collapse}.data-table th{height:38px;padding:0 11px;color:#73808a;background:#f8fafb;border-bottom:1px solid #e2e8ec;font-size:10px;font-weight:600;text-align:left;white-space:nowrap}.data-table td{height:49px;padding:0 11px;color:#40505a;border-bottom:1px solid #edf1f3;font-size:11px;white-space:nowrap}.data-table tbody tr:hover{background:#fbfdfd}.data-table tbody tr:last-child td{border-bottom:0}.shop-cell{display:flex;align-items:center;gap:8px}.shop-avatar{display:grid;width:28px;height:28px;place-items:center;color:#fff;background:linear-gradient(135deg,#5f8df1,#3b66c9);border-radius:6px;font-size:10px;font-weight:700}.shop-cell strong{display:block;color:#26343d;font-size:11px}.shop-cell small{display:block;margin-top:2px;color:#929da4;font-size:9px}.link-btn{padding:0;color:#2580e8;background:transparent;border:0;font-size:11px}.link-btn+.link-btn{margin-left:9px}.login-layout{display:grid;grid-template-columns:minmax(0,1fr) 302px;gap:12px}.browser-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:10px;padding:12px;background:#dfe5e9}.browser-slot{min-height:245px;overflow:hidden;background:#fff;border:1px solid #ccd6dc;border-radius:7px;box-shadow:0 3px 8px #1a293612}.browser-slot.waiting{background:#f9fbfc;border-style:dashed}.browser-chrome{display:flex;height:35px;align-items:center;gap:6px;padding:0 9px;color:#7c8992;background:#eef2f4;border-bottom:1px solid #dae2e7;font-size:9px}.browser-dot{width:6px;height:6px;background:#b4c0c8;border-radius:50%}.browser-address{overflow:hidden;flex:1;margin-left:5px;padding:5px 8px;background:#fff;border-radius:4px;text-overflow:ellipsis;white-space:nowrap}.browser-stage{display:flex;min-height:209px;align-items:center;justify-content:center;padding:18px;text-align:center}.login-brand{display:grid;width:46px;height:46px;margin:0 auto 10px;place-items:center;color:#fff;background:linear-gradient(135deg,#ec4a4a,#c32128);border-radius:11px;font-size:18px;font-weight:800}.browser-stage h3{margin:0;font-size:13px}.browser-stage p{margin:7px 0 13px;color:#82909a;font-size:10px}.slot-placeholder{color:#8b969e}.slot-placeholder svg{color:#a9b5bc}.slot-placeholder strong{display:block;margin-top:9px;color:#5d6b75;font-size:12px}.queue-list{padding:2px 14px 12px}.queue-item{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px 0;border-bottom:1px solid #edf1f3}.queue-index{display:grid;width:22px;height:22px;place-items:center;color:#65737d;background:#edf2f4;border-radius:5px;font-size:10px;font-weight:700}.queue-item strong{display:block;font-size:11px}.queue-item small{display:block;margin-top:3px;color:#8c989f;font-size:9px}.progress{width:100%;height:5px;margin-top:7px;overflow:hidden;background:#e8edef;border-radius:999px}.progress span{display:block;height:100%;background:linear-gradient(90deg,#14a87b,#34c69b);border-radius:inherit}.notice{display:flex;align-items:flex-start;gap:9px;margin-bottom:12px;padding:10px 12px;color:#6d562e;background:#fff8e8;border:1px solid #f1dfb0;border-radius:7px;font-size:11px;line-height:1.65}.notice.info{color:#3e5f86;background:#eff6ff;border-color:#cfdef2}.segmented{display:inline-flex;padding:2px;background:#edf1f3;border-radius:6px}.segment{min-height:27px;padding:0 10px;color:#6a7780;background:transparent;border:0;border-radius:5px;font-size:10px}.segment.active{color:#26343d;background:#fff;box-shadow:0 1px 4px #21303c1a}.strategy-grid,.data-card-grid,.architecture-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.strategy-card,.data-card{padding:14px;background:#fff;border:1px solid var(--line);border-radius:8px}.strategy-card h3,.data-card h3,.architecture-card h3{margin:0;font-size:13px}.strategy-card p,.data-card p,.architecture-card p{margin:7px 0 12px;color:#7b8992;font-size:10px;line-height:1.65}.data-card .big-number{margin:9px 0 4px;font-size:24px;font-weight:750}.architecture-card{min-height:170px;padding:16px}.architecture-icon{display:grid;width:38px;height:38px;margin-bottom:12px;place-items:center;color:#0e936a;background:#e6f7f1;border-radius:8px}.flow-line{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:13px 0 0}.flow-node{padding:6px 8px;color:#53616b;background:#f1f4f6;border:1px solid #e1e7eb;border-radius:5px;font-size:9px}.flow-arrow{color:#9ba6ad}.placeholder-card{display:grid;min-height:430px;padding:38px;place-items:center;text-align:center}.placeholder-icon{display:grid;width:68px;height:68px;margin:0 auto 16px;place-items:center;color:#5997eb;background:#edf4ff;border-radius:18px}.placeholder-card h2{margin:0;font-size:19px}.placeholder-card p{max-width:520px;margin:10px auto 20px;color:#798791;font-size:12px;line-height:1.8}.placeholder-steps{display:flex;justify-content:center;gap:9px}.placeholder-step{min-width:122px;padding:12px;color:#65737d;background:#f7f9fa;border:1px solid #e6ebee;border-radius:7px;font-size:10px}.drawer-backdrop{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;background:#0c161f57;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.task-drawer{display:flex;width:min(470px,92vw);height:100%;flex-direction:column;background:#fff;box-shadow:-12px 0 34px #14222e2e;animation:drawer-in .2s ease-out}@keyframes drawer-in{0%{transform:translate(32px);opacity:.5}to{transform:translate(0);opacity:1}}.drawer-head{display:flex;min-height:62px;align-items:center;padding:0 18px;border-bottom:1px solid #e4eaee}.drawer-head h2{margin:0;font-size:16px}.drawer-head button{margin-left:auto}.drawer-body{min-height:0;flex:1;overflow:auto;padding:17px 18px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:7px;color:#45535d;font-size:11px;font-weight:650}.form-group input,.form-group select,.form-group textarea{width:100%;padding:9px 10px;color:#35434d;background:#fff;border:1px solid #dce4e9;border-radius:6px;outline:none;font-size:11px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#37b992;box-shadow:0 0 0 3px #1fae8517}.form-group textarea{min-height:75px;resize:vertical}.radio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.radio-card{padding:11px;color:#586670;background:#fafcfc;border:1px solid #dfe6ea;border-radius:7px;font-size:10px}.radio-card.active{color:#087c59;background:#edf9f5;border-color:#65c9aa}.radio-card strong{display:block;margin-bottom:4px;font-size:11px}.drawer-foot{display:flex;justify-content:flex-end;gap:8px;padding:13px 18px;background:#fafbfc;border-top:1px solid #e4eaee}.toast{position:fixed;z-index:50;right:22px;bottom:22px;display:flex;align-items:center;gap:9px;padding:11px 14px;color:#eaf7f2;background:#1c3d34;border:1px solid rgba(255,255,255,.1);border-radius:7px;box-shadow:0 10px 28px #13292245;font-size:11px}.empty-state{padding:45px 20px;color:#89969e;text-align:center;font-size:11px}@media(max-width:1320px){.metric-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.architecture-grid,.strategy-grid,.data-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1160px){.sidebar{flex-basis:214px}.dashboard-grid,.login-layout{grid-template-columns:1fr}.topbar{gap:10px}.global-search{max-width:360px}}.auth-shell{display:grid;min-width:980px;height:100vh;grid-template-columns:minmax(520px,1.25fr) minmax(390px,.75fr);overflow:hidden;background:#f4f7f8}.auth-brand{position:relative;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:9vw;color:#e8f2f3;background:linear-gradient(145deg,#152634,#10201e 62%,#17342e)}.auth-brand:after{position:absolute;right:-160px;bottom:-190px;width:520px;height:520px;border:1px solid rgba(56,211,166,.18);border-radius:50%;box-shadow:0 0 0 80px #18ab810a,0 0 0 160px #18ab8106;content:""}.auth-mark{display:grid;width:64px;height:64px;margin-bottom:28px;place-items:center;color:#fff;background:#11a678;border-radius:17px;box-shadow:0 12px 28px #11a67840}.auth-brand>span{color:#47d9b0;font-size:13px;font-weight:700;letter-spacing:2px}.auth-brand h1{max-width:620px;margin:14px 0;color:#fff;font-size:38px;line-height:1.25}.auth-brand p{max-width:590px;color:#9fb2b7;font-size:14px;line-height:1.9}.auth-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.auth-points span{display:flex;align-items:center;gap:7px;padding:9px 12px;color:#c7d5d7;background:#ffffff0e;border:1px solid rgba(255,255,255,.07);border-radius:7px;font-size:11px}.auth-card{align-self:center;width:min(390px,calc(100% - 56px));margin:auto;padding:32px;background:#fff;border:1px solid #dfe6ea;border-radius:11px;box-shadow:0 18px 45px #1d2d391c}.auth-card-head{display:flex;align-items:center;gap:12px;margin-bottom:28px}.auth-card-head>span{display:grid;width:40px;height:40px;place-items:center;color:#fff;background:#10a678;border-radius:9px;font-size:13px;font-weight:800}.auth-card-head strong{display:block;font-size:17px}.auth-card-head small{display:block;max-width:270px;margin-top:4px;overflow:hidden;color:#8a969e;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.auth-card label{display:block;margin-bottom:17px}.auth-card label>span{display:block;margin-bottom:7px;color:#47545e;font-size:11px;font-weight:650}.auth-input{display:flex;height:39px;align-items:center;gap:8px;padding:0 10px;color:#83909a;border:1px solid #dce4e8;border-radius:6px}.auth-input:focus-within{border-color:#26af86;box-shadow:0 0 0 3px #16a67a14}.auth-input input{min-width:0;flex:1;border:0;outline:0}.auth-submit{width:100%;height:40px;margin-top:5px}.auth-error{display:flex;align-items:flex-start;gap:7px;margin:-4px 0 13px;padding:9px 10px;color:#bf4148;background:#fff1f1;border:1px solid #f1cbcd;border-radius:6px;font-size:10px;line-height:1.5}.auth-foot{margin:15px 0 0;color:#98a2a9;font-size:9px;text-align:center}.auth-brand-simple{justify-content:center}.auth-brand-simple h1{max-width:none;margin-top:20px}.auth-secondary{width:100%;margin-top:10px;justify-content:center}.top-user{line-height:1.15}.top-user strong{display:block;font-size:11px}.top-user small{color:#8a969e;font-size:9px}.cell-message{display:block;max-width:150px;margin-top:3px;overflow:hidden;color:#8c989f;text-overflow:ellipsis}.architecture-flow-simple{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:13px;padding:20px;background:#172734;border-radius:8px}.architecture-flow-simple span{padding:10px 14px;color:#eaf2f4;background:#ffffff12;border:1px solid rgba(255,255,255,.08);border-radius:6px;font-size:12px;font-weight:700}.architecture-flow-simple i{color:#45d6ac;font-size:10px;font-style:normal}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}button:disabled{cursor:not-allowed;opacity:.55}
