:root{--primary:#409eff;--primary-hover:#66b1ff;--primary-light:#ecf5ff;--primary-border:#b3d8ff;--success:#67c23a;--success-light:#f0f9eb;--success-border:#c2e7b0;--warning:#e6a23c;--warning-light:#fdf6ec;--warning-border:#f5dab1;--danger:#f56c6c;--danger-light:#fef0f0;--danger-border:#fbc4c4;--info:#909399;--info-light:#f4f4f5;--info-border:#d3d4d6;--text:#303133;--text-regular:#606266;--text-secondary:#909399;--text-placeholder:#a8abb2;--border:#dcdfe6;--border-light:#ebeef5;--bg-page:#f0f2f5;--sidebar-bg:#304156;--sidebar-logo-bg:#2b2f3a;--sidebar-text:#bfcbd9;--sidebar-hover:#263445;--sidebar-width:200px;--sidebar-collapsed:54px;color:var(--text);-webkit-font-smoothing:antialiased;font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif;font-size:14px}*{box-sizing:border-box}body{background:var(--bg-page);min-width:1100px;margin:0}button,input,select{font:inherit}a{color:var(--primary);text-decoration:none}code{background:var(--info-light);border-radius:3px;padding:1px 6px;font-size:13px}[hidden]{display:none!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.icon{flex:none;width:1em;height:1em}.icon.inline{vertical-align:-2px;margin-right:4px}.muted{color:var(--text-secondary)}.small{font-size:12px}.strong{color:var(--text);font-weight:600}input,select{border:1px solid var(--border);width:100%;height:32px;color:var(--text-regular);background:#fff;border-radius:4px;outline:none;padding:0 11px;transition:border-color .2s,box-shadow .2s}input::placeholder{color:var(--text-placeholder)}input:hover,select:hover{border-color:#c0c4cc}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}select.multi{height:96px;padding:4px}select.multi option{border-radius:3px;padding:4px 8px}.form{align-items:start;gap:18px 24px;display:grid}.form.stacked{grid-template-columns:1fr;gap:16px}.form.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form.inline{align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.form.inline .form-item{width:220px}.form-item{gap:6px;font-size:14px;display:grid}.form-label{color:var(--text-regular);font-weight:500;line-height:20px}.form-tip{color:var(--text-secondary);font-size:12px;line-height:18px}.form-actions{justify-content:flex-end;gap:12px;margin-top:18px;display:flex}.form-actions.left{justify-content:flex-start;margin-top:4px}.btn{border:1px solid var(--border);height:32px;color:var(--text-regular);white-space:nowrap;cursor:pointer;background:#fff;border-radius:4px;justify-content:center;align-items:center;gap:4px;padding:0 15px;font-size:14px;line-height:1;transition:all .15s;display:inline-flex}.btn:hover{color:var(--primary);border-color:var(--primary-border);background:var(--primary-light)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.danger:hover:not(:disabled){background:#f78989;border-color:#f78989}.btn.primary.plain{background:var(--primary-light);border-color:var(--primary-border);color:var(--primary)}.btn.primary.plain:hover:not(:disabled){background:var(--primary);color:#fff}.btn.warning.plain{background:var(--warning-light);border-color:var(--warning-border);color:var(--warning)}.btn.warning.plain:hover:not(:disabled){background:var(--warning);border-color:var(--warning);color:#fff}.btn.block{width:100%;height:38px;font-size:14px}.btn.circle{border-radius:50%;width:32px;padding:0}.btn.text,.btn.link{background:0 0;border:0;height:auto;padding:0}.btn.text{color:var(--text-regular)}.btn.text:hover{color:var(--primary);background:0 0}.btn.link{color:var(--primary);font-size:13px}.btn.link+.btn.link{margin-left:12px}.btn.link:hover{color:var(--primary-hover);background:0 0}.btn.link.danger{color:var(--danger)}.btn.link.success{color:var(--success)}.alert{white-space:pre-wrap;border-radius:4px;margin:0 0 16px;padding:8px 16px;font-size:13px;line-height:20px}.alert.success{background:var(--success-light);color:var(--success)}.alert.error{background:var(--danger-light);color:var(--danger)}.alert.warning{background:var(--warning-light);color:var(--warning)}.alert.info{background:var(--info-light);color:var(--text-regular)}.tag-status{border:1px solid var(--primary-border);background:var(--primary-light);height:22px;color:var(--primary);border-radius:4px;align-items:center;margin:0 4px 2px 0;padding:0 8px;font-size:12px;display:inline-flex}.tag-status.success{background:var(--success-light);border-color:var(--success-border);color:var(--success)}.tag-status.warning{background:var(--warning-light);border-color:var(--warning-border);color:var(--warning)}.tag-status.danger{background:var(--danger-light);border-color:var(--danger-border);color:var(--danger)}.tag-status.info{background:var(--info-light);border-color:var(--info-border);color:var(--info)}.auth-page{background:url(/assets/login-background-B2WH8JPc.jpg) 50%/cover no-repeat;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px 16px 64px;display:flex}.auth-card{background:#fff;border-radius:6px;width:400px;padding:25px 25px 10px;box-shadow:0 2px 12px #0000001a}.auth-card.wide{width:760px}.auth-title{text-align:center;color:#707070;margin:0 auto 8px;font-size:20px;font-weight:600}.auth-subtitle{text-align:center;color:var(--text);margin:0 0 20px;font-size:15px}.auth-subtitle span{color:var(--text-secondary);margin-top:4px;font-size:12px;display:block}.auth-form{gap:18px;display:grid}.input-icon{display:block;position:relative}.input-icon .icon{width:16px;height:16px;color:var(--text-placeholder);position:absolute;top:11px;left:11px}.input-icon input{height:38px;padding-left:34px}.captcha-row{grid-template-columns:1fr 33%;align-items:end;gap:12px;display:grid}.captcha{border:1px solid var(--border);object-fit:contain;cursor:pointer;background:#f8f9fb;border-radius:4px;width:100%;height:38px}.auth-links{justify-content:space-between;gap:12px;padding:4px 0 12px;font-size:13px;display:flex}.hint{color:var(--text-regular);margin:0}.steps{grid-template-columns:1fr 1fr;gap:24px;display:grid}.steps .auth-links{grid-column:1/-1;justify-content:center}.step{border:1px solid var(--border-light);border-radius:4px;padding:20px}.step h2{align-items:center;gap:8px;margin:0 0 18px;font-size:15px;font-weight:600;display:flex}.step-no{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;display:inline-grid}.step .captcha{height:32px}.auth-footer{text-align:center;color:#fff;letter-spacing:1px;width:100%;height:40px;font-size:12px;line-height:40px;position:fixed;bottom:0}.app-wrapper{min-height:100vh}.sidebar{z-index:10;width:var(--sidebar-width);background:var(--sidebar-bg);transition:width .28s;position:fixed;top:0;bottom:0;left:0;overflow:hidden;box-shadow:2px 0 6px #00152959}.sidebar-logo{background:var(--sidebar-logo-bg);color:#fff;justify-content:center;align-items:center;gap:10px;height:50px;display:flex}.logo-mark{background:var(--primary);border-radius:6px;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.logo-title{white-space:nowrap;font-size:15px;font-weight:600}.menu{padding-top:4px}.menu-item{height:50px;color:var(--sidebar-text);white-space:nowrap;align-items:center;gap:10px;padding:0 20px;transition:background .2s;display:flex}.menu-item .icon{width:18px;height:18px}.menu-item:hover{background:var(--sidebar-hover)}.menu-item.active{color:var(--primary);box-shadow:inset 3px 0 0 var(--primary);background:#1f2d3d}.collapsed .sidebar{width:var(--sidebar-collapsed)}.collapsed .menu-item{justify-content:center;padding:0}.main-container{min-height:100vh;margin-left:var(--sidebar-width);transition:margin-left .28s}.collapsed .main-container{margin-left:var(--sidebar-collapsed)}.navbar{background:#fff;align-items:center;height:50px;padding-right:16px;display:flex;box-shadow:0 1px 4px #00152914}.hamburger{width:50px;height:50px;color:var(--text);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.hamburger:hover{background:#00000006}.hamburger .icon{width:20px;height:20px}.breadcrumb{color:var(--text-secondary);align-items:center;gap:6px;font-size:14px;display:flex}.breadcrumb .sep{color:#c0c4cc}.breadcrumb .current{color:var(--text-regular)}.right-menu{align-items:center;gap:18px;margin-left:auto;font-size:14px;display:flex}.domain-tag{background:var(--primary-light);color:var(--primary);border-radius:4px;padding:2px 8px;font-size:12px}.user{color:var(--text-regular);align-items:center;gap:8px;display:flex}.avatar{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:14px;font-weight:600;display:inline-grid}.avatar.large{width:96px;height:96px;font-size:40px}.nav-link{font-size:13px}.tags-view{background:#fff;border-bottom:1px solid #d8dce5;align-items:center;gap:5px;height:34px;padding:0 15px;display:flex;box-shadow:0 1px 3px #0000001f,0 0 3px #0000000a}.tag{color:#495060;background:#fff;border:1px solid #d8dce5;align-items:center;gap:5px;height:26px;padding:0 8px;font-size:12px;display:inline-flex}.tag .dot{background:#fff;border-radius:50%;width:8px;height:8px;display:none}.tag.active{background:var(--primary);border-color:var(--primary);color:#fff}.tag.active .dot{display:inline-block}.tag-close{width:16px;height:16px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.tag-close:hover{color:#fff;background:#b4bccc}.tag-close .icon{width:10px;height:10px}.app-main{padding:16px}.panel{border:1px solid var(--border-light);background:#fff;border-radius:4px;margin-bottom:16px;padding:20px;box-shadow:0 2px 12px #0000000a}.panel-header{justify-content:space-between;align-items:center;margin:-4px 0 16px;display:flex}.panel-header h2{border-left:3px solid var(--primary);margin:0;padding-left:10px;font-size:15px;font-weight:600;line-height:16px}.toolbar-right{align-items:center;gap:10px;display:flex}.table-wrap{border:1px solid var(--border-light);border-bottom:0;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{color:#515a6e;text-align:left;white-space:nowrap;border-bottom:1px solid var(--border-light);background:#f8f8f9;height:40px;padding:0 12px;font-weight:600}.table td{color:var(--text-regular);border-bottom:1px solid var(--border-light);vertical-align:middle;padding:10px 12px}.table tbody tr:hover td{background:#f5f7fa}.table .col-actions{white-space:nowrap}.table .empty{text-align:center;height:60px;color:var(--text-secondary)}.pagination{color:var(--text-regular);background:#fff;border-radius:4px;justify-content:flex-end;align-items:center;gap:8px;margin:-4px 0 16px;padding:12px 16px;font-size:13px;display:flex}.pager{min-width:30px;height:28px;color:var(--text-regular);cursor:pointer;background:#f4f4f5;border:0;border-radius:2px;place-items:center;padding:0 6px;display:inline-grid}.pager:disabled{color:#c0c4cc;cursor:not-allowed}.pager.current{background:var(--primary);color:#fff;cursor:default;font-weight:600}.profile{grid-template-columns:360px 1fr;align-items:start;gap:16px;display:grid}.profile-head{justify-items:center;gap:10px;padding:8px 0 16px;display:grid}.info-list{border-top:1px solid var(--border-light);margin:0;padding:0;list-style:none}.info-list li{border-bottom:1px solid var(--border-light);color:var(--text-regular);align-items:center;padding:11px 0;font-size:13px;display:flex}.info-list .value{color:var(--text);margin-left:auto}.dialog-mask{z-index:2000;background:#00000080;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0;overflow:auto}.dialog{background:#fff;border-radius:4px;width:500px;margin-bottom:40px;box-shadow:0 12px 32px 4px #0000000a,0 8px 20px #00000014}.dialog.large{width:760px}.dialog-header{justify-content:space-between;align-items:center;padding:16px 20px 10px;display:flex}.dialog-header h2{color:var(--text);margin:0;font-size:18px;font-weight:500}.dialog-close{width:24px;height:24px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.dialog-close:hover{color:var(--primary)}.dialog-body{padding:10px 20px 20px}.dialog-footer{justify-content:flex-end;gap:12px;padding:10px 20px 20px;display:flex}.dialog-body .dialog-footer{padding:4px 0 0}.member-panel{border-top:2px solid var(--primary)}.removal{border-top:1px dashed var(--border);margin-top:16px;padding-top:16px}
