:root{font-family:Helvetica Neue,Helvetica,PingFang SC,Microsoft YaHei,Arial,sans-serif;color:#606266;background:#eaedf1;font-synthesis:none}*{box-sizing:border-box}html,body,#app{height:100%;margin:0;min-width:1050px}button,input,select,textarea{font:inherit}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.form-error,.console-alert{color:#f56c6c}.console-alert{background:#fef0f0;border:1px solid #fde2e2;padding:10px 14px;margin:0 0 10px}.brand-mark{width:46px;height:46px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#409eff,#8257e5);font-weight:800;letter-spacing:-1px;box-shadow:0 3px 10px #0003}.console-login{height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#303742,#171b21);position:relative}.console-login:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 20%,#409eff24,transparent 35%),radial-gradient(circle at 80% 75%,#8b5cf626,transparent 38%)}.console-login-card{width:430px;background:#fff;padding:34px 38px 28px;border-radius:3px;box-shadow:0 14px 50px #0007;position:relative}.console-login-brand{display:flex;align-items:center;gap:14px;margin-bottom:28px}.console-login-brand h1{font-size:22px;color:#303133;margin:0 0 5px;font-weight:500}.console-login-brand p{font-size:13px;color:#909399;margin:0}.console-login-card label{display:flex;height:42px;margin-bottom:18px;border:1px solid #dcdfe6;border-radius:3px}.console-login-card label:focus-within{border-color:#409eff}.console-login-card label span{width:72px;display:flex;align-items:center;justify-content:center;background:#f5f7fa;border-right:1px solid #dcdfe6;font-size:13px}.console-login-card input{flex:1;border:0;outline:0;padding:0 12px}.login-submit{height:42px;width:100%;font-size:16px}.login-note{text-align:center;color:#a3a6ad;font-size:12px;margin:17px 0 0}.console-primary{border:1px solid #409eff;border-radius:3px;background:#409eff;color:#fff;padding:9px 16px;cursor:pointer}.console-primary:hover{background:#66b1ff}.console-primary:disabled{opacity:.6}.console-shell{height:100%;overflow:hidden}.console-header{height:60px;background:#373d41;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 18px 0 10px}.console-brand{display:flex;align-items:center;gap:12px;font-size:20px}.console-brand .brand-mark{width:46px;height:46px;font-size:14px}.console-brand small{font-size:12px;font-weight:400;color:#b7bdc3;border-left:1px solid #596168;padding-left:12px}.console-user{display:flex;align-items:center;gap:12px;font-size:13px}.console-user b{font-size:11px;font-weight:400;background:#596168;padding:3px 7px;border-radius:3px;text-transform:uppercase}.console-user button{border:1px solid #646b70;background:#535a60;color:#fff;padding:7px 15px;border-radius:3px;cursor:pointer}.console-body{height:calc(100% - 60px);display:flex}.console-sidebar{width:180px;background:#333744;position:relative;transition:width .18s;overflow:hidden;flex:none}.console-sidebar.collapsed{width:0}.console-sidebar nav{width:180px;padding-top:8px}.console-sidebar a{height:52px;color:#fff;text-decoration:none;display:flex;align-items:center;gap:13px;padding:0 20px;font-size:14px;border-left:3px solid transparent}.console-sidebar a i{width:20px;text-align:center;color:#b7bdc3;font-style:normal;font-size:17px}.console-sidebar a:hover{background:#292d38}.console-sidebar a.router-link-active{background:#292d38;color:#409eff;border-left-color:#409eff}.console-sidebar a.router-link-active i{color:#409eff}.collapse-button{position:fixed;left:15px;bottom:15px;width:40px;height:40px;border:0;border-radius:2px;background:#000b;color:#fff;z-index:20;font-size:26px;cursor:pointer}.console-sidebar.collapsed .collapse-button{left:15px}.console-main{flex:1;min-width:0;background:#eaedf1;padding:10px;overflow:auto}.console-breadcrumb{height:35px;display:flex;align-items:center;gap:9px;color:#909399;font-size:12px}.console-breadcrumb strong{color:#606266;font-weight:400}.console-breadcrumb em{margin-left:auto;font-style:normal;color:#67c23a}.console-breadcrumb em i{display:inline-block;width:7px;height:7px;background:#67c23a;border-radius:50%;margin-right:6px}.console-card{background:#fff;border:1px solid #ebeef5;box-shadow:0 1px 1px #00000026;padding:10px;margin-bottom:10px}.console-card>header{min-height:52px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ebeef5;margin:-10px -10px 10px;padding:0 15px}.console-card h2{font-size:15px;color:#303133;margin:0 0 4px;font-weight:500}.console-card header p{font-size:12px;color:#909399;margin:0}.console-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px}.console-stats article{height:104px;background:#fff;border:1px solid #ebeef5;display:flex;align-items:center;padding:16px;box-shadow:0 1px 1px #00000012}.console-stats article>i{width:52px;height:52px;border-radius:3px;color:#fff;display:grid;place-items:center;font-style:normal;font-size:24px;margin-right:14px}.console-stats .blue{background:#409eff}.console-stats .orange{background:#e6a23c}.console-stats .green{background:#67c23a}.console-stats .red{background:#f56c6c}.console-stats span,.console-stats small{display:block;color:#909399;font-size:12px}.console-stats strong{display:block;font-size:25px;font-weight:500;color:#303133;margin:3px 0}.sales-card>header>strong{font-size:13px;color:#409eff}.sales-lines p{height:44px;display:flex;align-items:center;border-bottom:1px solid #ebeef5;margin:0;font-size:13px}.sales-lines p:last-child{border:0}.sales-lines b{width:120px;color:#303133}.sales-lines span{color:#606266}.console-empty{text-align:center;color:#909399;padding:38px;font-size:13px}.node-toolbar{height:62px}.node-form{background:#f5f7fa;border:1px solid #e4e7ed;padding:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px}.node-form label{display:flex;height:36px}.node-form label span{width:88px;border:1px solid #dcdfe6;border-right:0;background:#eef1f5;display:grid;place-items:center;font-size:12px}.node-form input,.node-form select,.node-form textarea,.draw-toolbar select{flex:1;min-width:0;border:1px solid #dcdfe6;background:#fff;padding:0 10px;outline:0}.node-form input:focus,.node-form select:focus,.node-form textarea:focus{border-color:#409eff}.node-form .public-key-field{grid-column:1/3;height:52px}.node-form textarea{resize:none;padding-top:7px}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.form-actions button{padding:8px 16px;border:1px solid #dcdfe6;background:#fff;border-radius:3px;cursor:pointer}.form-actions .console-primary{background:#409eff;border-color:#409eff}.node-summary{font-size:13px;color:#606266;margin:10px 0}.console-table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{height:43px;background:#fafafa;color:#909399;font-weight:500;border:1px solid #ebeef5;padding:7px;white-space:nowrap}td{height:48px;text-align:center;color:#606266;border:1px solid #ebeef5;padding:7px}td small{display:block;color:#a3a6ad;margin-top:4px;white-space:nowrap}.edition-tag,.verify-tag,.node-status{display:inline-block;padding:3px 7px;border-radius:3px;border:1px solid #b3d8ff;color:#409eff;background:#ecf5ff;white-space:nowrap}.node-status.suspended,.node-status.expired,.verify-tag.rejected{color:#f56c6c;border-color:#fbc4c4;background:#fef0f0}.node-status.active,.verify-tag.verified{color:#67c23a;border-color:#c2e7b0;background:#f0f9eb}.table-button{border:1px solid #b3d8ff;color:#409eff;background:#ecf5ff;padding:5px 8px;border-radius:3px;margin:2px;cursor:pointer}.table-button.danger{color:#f56c6c;border-color:#fbc4c4;background:#fef0f0}.table-button.success{color:#67c23a;border-color:#c2e7b0;background:#f0f9eb}.draw-toolbar label{display:flex;align-items:center;gap:8px;font-size:12px}.draw-toolbar select{height:34px;width:160px}.draw-result{color:#409eff;font-size:14px;letter-spacing:1px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.settings-grid .console-card{margin:0}.full-card{grid-column:1/3}.secure-label,.blocked-label{font-size:12px;padding:4px 9px;border-radius:3px;color:#67c23a;border:1px solid #c2e7b0;background:#f0f9eb}.blocked-label{color:#f56c6c;border-color:#fbc4c4;background:#fef0f0}.settings-grid dl{margin:0}.settings-grid dl>div{display:flex;padding:12px;border-bottom:1px solid #ebeef5;font-size:13px}.settings-grid dt{width:105px;color:#909399}.settings-grid dd{margin:0;color:#303133}.security-list{list-style:none;margin:0;padding:0}.security-list li{padding:10px 5px;border-bottom:1px solid #ebeef5;font-size:13px}.security-list li:before{content:"×";display:inline-grid;place-items:center;width:18px;height:18px;background:#fef0f0;color:#f56c6c;border-radius:50%;margin-right:8px}.config-items{display:grid;grid-template-columns:1fr 1fr;gap:10px}.config-items span{padding:14px;background:#f5f7fa;font-size:13px}.config-items b{display:block;color:#909399;font-size:12px;margin-bottom:5px}@media(max-width:1250px){.console-stats{grid-template-columns:repeat(2,1fr)}.node-form{grid-template-columns:1fr 1fr}.settings-grid{grid-template-columns:1fr}.full-card{grid-column:auto}}.console-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#30313399;z-index:80;display:grid;place-items:center;padding:25px}.console-modal-card{width:min(850px,95vw);max-height:92vh;overflow:auto;background:#fff;box-shadow:0 20px 70px #0006}.console-modal-card>header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #ebeef5}.console-modal-card>header h2{font-size:18px;margin:4px 0 0}.console-modal-card>header button{border:0;background:transparent;font-size:28px;color:#909399}.node-edit-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px 20px}.node-edit-form label{display:grid;gap:5px;font-size:12px;color:#606266}.node-edit-form input,.node-edit-form select,.node-edit-form textarea{border:1px solid #dcdfe6;border-radius:3px;padding:9px;background:#fff}.node-edit-form .full{grid-column:1/-1}.node-edit-form textarea{min-height:70px;resize:vertical}.node-edit-form>button{grid-column:1/-1;justify-self:end}.event-list{border-top:1px solid #ebeef5;padding:15px 20px 20px}.event-list h3{font-size:14px;margin:0 0 8px}.event-list p{display:flex;justify-content:space-between;margin:0;padding:8px;border-bottom:1px solid #f0f1f2;color:#606266;font-size:12px}.event-list p b{color:#409eff}.console-success{color:#67c23a;background:#f0f9eb;border:1px solid #c2e7b0;padding:10px 14px;margin:0 0 10px}.edition-settings>header .console-primary{padding:7px 14px}.edition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.edition-plan-card{border:1px solid #dcdfe6;background:#fafafa;padding:15px}.edition-plan-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.edition-plan-head>div{display:flex;align-items:center;gap:9px}.edition-plan-head span{font-size:10px;color:#409eff;border:1px solid #b3d8ff;background:#ecf5ff;padding:3px 5px;border-radius:3px}.edition-plan-head strong{font-size:16px;color:#303133}.edition-plan-head select{border:1px solid #dcdfe6;background:#fff;padding:6px 9px;border-radius:3px}.edition-plan-card>p{margin:0 0 14px;color:#909399;font-size:12px}.edition-field{display:grid;grid-template-columns:86px 1fr;align-items:center;margin:8px 0;font-size:12px}.edition-field span{color:#606266}.edition-field input{height:34px;border:1px solid #dcdfe6;background:#fff;padding:0 9px;border-radius:3px;min-width:0}.edition-features{border-top:1px solid #ebeef5;margin-top:13px;padding-top:12px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.edition-features b{grid-column:1 / -1;font-size:12px;color:#303133}.edition-features label{font-size:12px;color:#606266;white-space:nowrap}.edition-features input{vertical-align:-2px}@media(max-width:1250px){.edition-grid{grid-template-columns:1fr}}.collector-key{background:#ecf5ff;border:1px solid #b3d8ff;padding:11px 14px;margin-bottom:10px;display:grid;grid-template-columns:155px 1fr;align-items:center;gap:4px 12px}.collector-key span{color:#409eff;font-size:12px;font-weight:600}.collector-key code{color:#303133;word-break:break-all}.collector-key small{grid-column:2;color:#909399}.source-card{margin-top:10px}.source-card>header .console-primary{padding:7px 14px}.source-create-form{display:grid;grid-template-columns:repeat(5,1fr) auto;gap:9px;padding:12px;margin-bottom:10px;border:1px solid #e4e7ed;background:#f5f7fa}.source-create-form label{display:grid;gap:5px;font-size:12px}.source-create-form input,.source-create-form select,.source-table input,.source-table select{min-width:0;height:33px;border:1px solid #dcdfe6;background:#fff;padding:0 8px}.source-fixed-value{height:33px;display:flex;align-items:center;border:1px solid #dcdfe6;background:#fff;padding:0 9px;color:#606266;font-size:12px;font-weight:400}.source-create-form button{align-self:end;height:33px}.source-table td:first-child input{width:145px;text-align:center}.source-table .source-url{width:220px}.source-table td:nth-child(2){min-width:145px}.source-table td:nth-child(2)>select{display:block;width:100%;margin:3px 0}.source-table td:nth-child(2)>small{margin:5px 0}.source-table .source-priority{width:58px;text-align:center}.source-timing{display:grid;grid-template-columns:1fr 1fr;gap:5px}.source-table .source-timing input{width:62px;text-align:center}.poll-status{display:inline-block;padding:3px 7px;border-radius:3px;color:#909399;background:#f4f4f5}.poll-status.success{color:#67c23a;background:#f0f9eb}.poll-status.failed{color:#f56c6c;background:#fef0f0}.source-error{color:#f56c6c}@media(max-width:1350px){.source-create-form{grid-template-columns:repeat(3,1fr)}}.delivery-list{border-top:1px solid #ebeef5;padding:15px 20px 20px}.delivery-list h3{font-size:14px;margin:0 0 9px}.delivery-list .console-empty{padding:18px}.delivery-status{display:inline-block;padding:3px 7px;border-radius:3px;color:#e6a23c;background:#fdf6ec;border:1px solid #f5dab1}.delivery-status.acknowledged{color:#67c23a;background:#f0f9eb;border-color:#c2e7b0}.delivery-status.failed{color:#f56c6c;background:#fef0f0;border-color:#fbc4c4}.admin-user-settings{margin-top:10px}.admin-user-settings>header .console-primary{padding:7px 14px}.admin-create-form{display:grid;grid-template-columns:repeat(5,1fr) auto;gap:9px;padding:12px;margin-bottom:10px;border:1px solid #e4e7ed;background:#f5f7fa}.admin-create-form label{display:grid;gap:5px;font-size:12px}.admin-create-form input,.admin-create-form select,.admin-user-table input,.admin-user-table select{min-width:0;height:33px;border:1px solid #dcdfe6;background:#fff;padding:0 8px}.admin-create-form button{align-self:end;height:33px}.admin-user-table input{width:155px}@media(max-width:1350px){.admin-create-form{grid-template-columns:repeat(3,1fr)}}
