:root{--kd-primary:#0052d9;--kd-primary-hover:#06f;--kd-primary-active:#0033ad;--kd-primary-light:#e6f0ff;--kd-primary-lighter:#f0f5ff;--kd-success:#52c41a;--kd-success-bg:#f6ffed;--kd-success-border:#b7eb8f;--kd-warning:#fa8c16;--kd-warning-bg:#fff7e6;--kd-warning-border:#ffd591;--kd-danger:#ff4d4f;--kd-danger-bg:#fff1f0;--kd-danger-border:#ffa39e;--kd-info:#0052d9;--kd-info-bg:#e6f0ff;--kd-info-border:#91caff;--kd-neutral:#999;--kd-neutral-bg:#f5f5f5;--kd-neutral-border:#d9d9d9;--kd-text-1:#222;--kd-text-2:#333;--kd-text-3:#555;--kd-text-4:#666;--kd-text-5:#999;--kd-border-1:#d9d9d9;--kd-border-2:#e8e8e8;--kd-border-3:#f0f0f0;--kd-bg-page:#f0f2f5;--kd-bg-card:#fff;--kd-bg-th:#fafafa;--kd-bg-toolbar:#f7f8fa;--kd-bg-hover:#fafbfc;--kd-radius:3px;--kd-radius-card:4px;--kd-shadow:0 4px 14px #0000001f;--kd-topbar-h:48px;--kd-sidebar-w:220px;--kd-sidebar-w-min:48px;--kd-tabbar-h:44px;--el-color-primary:#0052d9;--el-color-primary-light-3:#06f;--el-color-primary-light-5:#4d8df0;--el-color-primary-light-7:#99bdf5;--el-color-primary-light-8:#c6dcfa;--el-color-primary-light-9:#e6f0ff;--el-color-primary-dark-2:#0033ad;--el-color-success:#52c41a;--el-color-warning:#fa8c16;--el-color-danger:#ff4d4f;--el-border-radius-base:3px;--el-border-radius-small:3px;--el-font-size-base:14px}*{box-sizing:border-box}html,body,#app{height:100%;margin:0;padding:0}body{color:var(--kd-text-2);background:var(--kd-bg-page);-webkit-font-smoothing:antialiased;font-family:Microsoft YaHei,PingFang SC,Helvetica Neue,Arial,sans-serif;font-size:14px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--kd-border-3)}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#999}.kd-layout{flex-direction:column;height:100vh;display:flex;overflow:hidden}.kd-topbar{height:var(--kd-topbar-h);border-bottom:1px solid var(--kd-border-2);z-index:10;background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.kd-brand{color:var(--kd-primary);align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.kd-brand .logo{background:var(--kd-primary);color:#fff;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;display:flex}.kd-topbar-right{color:var(--kd-text-3);align-items:center;gap:16px;font-size:13px;display:flex}.kd-topbar-right .org{color:var(--kd-text-5)}.kd-main{flex:1;min-height:0;display:flex}.kd-sidebar{width:var(--kd-sidebar-w);border-right:1px solid var(--kd-border-2);background:#f5f6f8;flex-direction:column;flex-shrink:0;transition:width .2s;display:flex;overflow:hidden}.kd-sidebar.collapsed{width:var(--kd-sidebar-w-min)}.kd-sidebar-toggle{height:32px;color:var(--kd-text-4);cursor:pointer;border-bottom:1px solid var(--kd-border-3);flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:flex}.kd-sidebar-toggle:hover{color:var(--kd-primary)}.kd-menu{flex:1;padding-bottom:16px;overflow:hidden auto}.kd-menu-l1{color:#4a4f5c;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;height:48px;padding:0 12px;font-size:15px;display:flex}.kd-menu-l1:hover{background:#eceef1}.kd-menu-l1.open{color:var(--kd-primary);font-weight:500}.kd-menu-l1 .arrow{margin-left:auto;font-size:12px;transition:transform .15s}.kd-menu-l1.open .arrow{transform:rotate(90deg)}.kd-menu-l1 .icon{color:inherit;align-items:center;display:flex}.kd-menu-l2{height:44px;color:var(--kd-text-3);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;padding-left:44px;font-size:14px;display:flex}.kd-menu-l2:hover{color:var(--kd-primary);background:#eceef1}.kd-menu-l2.sel{background:var(--kd-primary-light);color:var(--kd-primary);font-weight:500}.kd-right{flex-direction:column;flex:1;min-width:0;display:flex}.kd-tabbar{height:var(--kd-tabbar-h);background:#f3f4f6;border-bottom:1px solid #e2e2e2;flex-shrink:0;align-items:stretch;display:flex;overflow-x:auto}.kd-tab{color:var(--kd-text-4);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px 4px 0 0;align-items:center;gap:6px;padding:0 12px;font-size:12px;display:flex;position:relative}.kd-tab.active{color:var(--kd-primary);background:#fff}.kd-tab.active:before{content:"";background:var(--kd-primary);height:2px;position:absolute;bottom:0;left:0;right:0}.kd-tab .close{opacity:.6;font-size:12px}.kd-tab .close:hover{opacity:1;color:var(--kd-danger)}.kd-tab-ops{cursor:pointer;color:var(--kd-text-5);flex-shrink:0;align-items:center;margin-left:auto;padding:0 8px;display:flex}.kd-tab-ops:hover{color:var(--kd-primary)}.kd-content{background:var(--kd-bg-page);flex:1;min-height:0;overflow:hidden}.page-title{color:var(--kd-text-1);margin:0;font-size:18px;font-weight:700;line-height:26px}.card{background:var(--kd-bg-card);border:1px solid var(--kd-border-2);border-radius:var(--kd-radius-card)}.card-header{border-bottom:1px solid var(--kd-border-3);color:var(--kd-text-2);justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.card-body{padding:16px}.stat-cards{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.stat-card{border:1px solid var(--kd-border-2);border-radius:var(--kd-radius-card);background:#fff;padding:16px}.stat-card .label{color:var(--kd-text-4);font-size:13px}.stat-card .value{color:var(--kd-text-1);font-variant-numeric:tabular-nums;margin-top:8px;font-size:24px;font-weight:700;line-height:30px}.stat-card .value.small{font-size:20px}.btn-primary,.btn,.btn-danger,.btn-link{border-radius:var(--kd-radius);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;height:32px;padding:0 16px;font-size:13px;transition:all .15s;display:inline-flex}.btn-primary{background:var(--kd-primary);color:#fff;border-color:var(--kd-primary)}.btn-primary:hover{background:var(--kd-primary-hover);border-color:var(--kd-primary-hover)}.btn-primary:disabled{background:var(--kd-neutral);border-color:var(--kd-neutral);cursor:not-allowed}.btn{color:var(--kd-text-3);border-color:var(--kd-border-1);background:#fff}.btn:hover{color:var(--kd-primary);border-color:var(--kd-primary)}.btn-danger{color:var(--kd-danger);border-color:var(--kd-danger);background:#fff}.btn-danger:hover{background:var(--kd-danger);color:#fff}.btn-link{color:var(--kd-primary);background:0 0;height:auto;padding:0 4px}.btn-link:hover{text-decoration:underline}.btn-sm{height:26px;padding:0 10px;font-size:12px}.kd-list{border:1px solid var(--kd-border-2);background:#fff;border-radius:0;flex-direction:column;height:100%;display:flex;overflow:hidden}.kd-toolbar{border-bottom:1px solid var(--kd-border-3);background:#fff;flex-shrink:0;align-items:center;gap:4px;height:40px;padding:0 12px;display:flex}.kd-tb-btn{height:28px;color:var(--kd-text-3);border-radius:var(--kd-radius);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0 10px;font-size:13px;display:inline-flex}.kd-tb-btn:hover{background:var(--kd-primary-lighter);color:var(--kd-primary)}.kd-tb-btn.primary{color:var(--kd-primary)}.kd-tb-sep{background:#e0e0e0;width:1px;height:16px;margin:0 6px}.kd-tb-right{margin-left:auto}.kd-schemes{background:var(--kd-bg-hover);border-bottom:1px solid var(--kd-border-3);flex-shrink:0;gap:8px;padding:8px 12px;display:flex}.kd-scheme{border:1px solid var(--kd-border-1);border-radius:var(--kd-radius);color:var(--kd-text-3);cursor:pointer;background:#fff;padding:3px 12px;font-size:12px}.kd-scheme.sel{background:var(--kd-primary);border-color:var(--kd-primary);color:#fff}.kd-filter{border-bottom:1px solid var(--kd-border-3);background:#fff;flex-shrink:0;align-items:flex-end;gap:12px;padding:12px 16px;display:flex}.kd-fmain{flex:1;grid-template-columns:repeat(3,1fr);gap:12px 24px;display:grid}.kd-fgroup{align-items:center;gap:8px;display:flex}.kd-fgroup .label{text-align:right;width:64px;color:var(--kd-text-3);flex-shrink:0;font-size:13px}.kd-fbtns{flex-shrink:0;gap:8px;display:flex}.kd-tablebox{flex:1;min-height:0;position:relative;overflow:auto}.kd-table{border-collapse:collapse;width:100%;font-size:13px}.kd-table th{z-index:2;background:var(--kd-bg-th);color:var(--kd-text-3);text-align:left;border-bottom:1px solid var(--kd-border-2);white-space:nowrap;padding:10px 12px;font-weight:600;position:sticky;top:0}.kd-table td{border-bottom:1px solid var(--kd-border-3);color:#444;white-space:nowrap;padding:10px 12px}.kd-table tbody tr:hover{background:var(--kd-bg-hover)}.kd-table .num{text-align:right;font-variant-numeric:tabular-nums}.kd-table .doc-link{color:var(--kd-primary);cursor:pointer}.kd-table .doc-link:hover{text-decoration:underline}.kd-table .empty-cell{text-align:center;color:var(--kd-text-5);padding:48px 0}.kd-pager{background:var(--kd-bg-hover);border-top:1px solid var(--kd-border-3);height:38px;color:var(--kd-text-4);flex-shrink:0;align-items:center;gap:12px;padding:0 12px;font-size:12px;display:flex}.kd-pager .right{align-items:center;gap:8px;margin-left:auto;display:flex}.kd-pager input[type=number]{border:1px solid var(--kd-border-1);border-radius:var(--kd-radius);width:48px;height:24px;padding:0 6px;font-size:12px}.kd-page-btn{border:1px solid var(--kd-border-1);border-radius:var(--kd-radius);width:24px;height:24px;color:var(--kd-text-3);cursor:pointer;background:#fff;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.kd-page-btn:disabled{color:#ccc;cursor:not-allowed}.kd-bill{border:1px solid var(--kd-border-2);background:#fff;border-radius:0;flex-direction:column;height:100%;display:flex;overflow:hidden}.kd-bill-toolbar{border-bottom:1px solid var(--kd-border-3);background:#fff;flex-shrink:0;align-items:center;gap:4px;height:40px;padding:0 12px;display:flex}.kd-bill-body{flex-direction:column;flex:1;gap:16px;min-height:0;padding:16px;display:flex;overflow-y:auto}.kd-group{border:1px solid var(--kd-border-2);border-radius:var(--kd-radius-card)}.kd-group-header{color:var(--kd-text-2);border-bottom:1px solid var(--kd-border-3);padding:10px 16px;font-size:14px;font-weight:600}.kd-group-body{padding:16px}.kd-form-grid{grid-template-columns:1fr 1fr;gap:12px 24px;display:grid}.kd-ffield{align-items:center;gap:8px;display:flex}.kd-ffield .label{text-align:right;width:96px;color:var(--kd-text-3);flex-shrink:0;font-size:14px}.kd-ffield .label.mapped{color:var(--kd-primary);font-weight:500}.kd-ffield .label.unmapped{color:var(--kd-danger)}.kd-ffield .label.ph{color:var(--kd-text-4)}.kd-ffield .label.req:before{content:"*";color:var(--kd-danger);margin-right:2px}.kd-ffield .ctl{flex:1;min-width:0}.kd-bill-foot{background:var(--kd-bg-hover);border-top:1px solid var(--kd-border-3);min-height:38px;color:var(--kd-text-4);flex-shrink:0;align-items:center;gap:24px;padding:0 16px;font-size:12px;display:flex}.kd-tag{border-radius:2px;align-items:center;padding:2px 8px;font-size:12px;line-height:16px;display:inline-flex}.kd-tag.success{color:var(--kd-success);background:var(--kd-success-bg);border:1px solid var(--kd-success-border)}.kd-tag.warning{color:var(--kd-warning);background:var(--kd-warning-bg);border:1px solid var(--kd-warning-border)}.kd-tag.danger{color:var(--kd-danger);background:var(--kd-danger-bg);border:1px solid var(--kd-danger-border)}.kd-tag.info{color:var(--kd-info);background:var(--kd-info-bg);border:1px solid var(--kd-info-border)}.kd-tag.neutral{color:var(--kd-neutral);background:var(--kd-neutral-bg);border:1px solid var(--kd-neutral-border)}.el-dialog{box-shadow:var(--kd-shadow)!important;border-radius:4px!important}.el-dialog__title{color:var(--kd-text-1);font-size:15px;font-weight:700}.el-button--primary{--el-button-bg-color:var(--kd-primary);--el-button-border-color:var(--kd-primary);--el-button-hover-bg-color:var(--kd-primary-hover);--el-button-hover-border-color:var(--kd-primary-hover);--el-button-active-bg-color:var(--kd-primary-active);--el-button-active-border-color:var(--kd-primary-active)}.el-input__wrapper,.el-select__wrapper{min-height:32px}.kd-empty{color:var(--kd-text-5);flex-direction:column;align-items:center;gap:8px;padding:48px 0;font-size:13px;display:flex}.kd-empty .icon{color:#ccc;font-size:40px}.kd-mobile-nav-btn{cursor:pointer;color:var(--kd-text-3);background:0 0;border:none;align-items:center;margin-right:4px;padding:4px 8px;font-size:20px;line-height:1;display:none}.kd-menu-l1:focus-visible,.kd-menu-l2:focus-visible,.kd-tab:focus-visible,.kd-tab-ops:focus-visible,.kd-sidebar-toggle:focus-visible,.kd-mobile-nav-btn:focus-visible,.kd-table .doc-link:focus-visible{outline:2px solid var(--kd-primary);outline-offset:-2px;border-radius:3px}@media (width<=900px){.kd-sidebar{top:var(--kd-topbar-h);z-index:100;transition:transform .2s;position:fixed;bottom:0;left:0;transform:translate(-100%);box-shadow:2px 0 8px #00000026}.kd-sidebar.mobile-open{transform:translate(0)}.kd-mobile-nav-btn{display:inline-flex}.kd-fmain,.kd-form-grid{grid-template-columns:1fr}.kd-filter{flex-direction:column;align-items:stretch}.kd-topbar-right .org{display:none}}@media (width<=600px){.kd-brand span{display:none}}
