*{box-sizing:border-box}body{margin:0;background:#f4f6fa;color:#17233c;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px}button,input{font:inherit}a{color:inherit;text-decoration:none}.shell{display:flex;min-width:1180px;min-height:100vh}aside{width:228px;background:#141e32;color:#9aa9c2;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:30px 16px 20px}.brand{display:flex;gap:10px;align-items:center;padding:0 10px 30px;color:#fff;font-size:16px;font-weight:650;white-space:nowrap}.brand small{display:block;color:#8290aa;font-size:12px;font-weight:400;margin-top:6px}.brand-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:transparent;flex-shrink:0}nav{display:flex;flex-direction:column;gap:7px;margin-top:10px}nav a{display:flex;align-items:center;gap:13px;padding:13px 17px;border-radius:7px;color:#a8b4cb;transition:.15s}nav a:hover{background:#1d2b43;color:#fff}nav a.active{background:#295ee8;color:#fff;font-weight:550}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:8px;padding:20px 12px 0;border-top:1px solid #29344a;font-size:12px}.sidebar-bottom small{margin-left:auto;color:#66758f}.server-dot{width:6px;height:6px;background:#42cd9d;border-radius:50%}main{margin-left:228px;flex:1;min-width:0}header{height:80px;background:#fff;border-bottom:1px solid #e8ecf3;display:flex;align-items:center;justify-content:space-between;padding:0 36px;color:#627088;font-size:13px}.slash{margin:0 15px;color:#c6cedc}.account{display:flex;align-items:center;gap:12px;color:#31425e}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#eaf0ff;color:#295ee8;font-weight:600}.role{color:#8d98aa;font-size:12px;margin-right:5px}.content{padding:32px 36px;max-width:1900px;margin:auto}.page-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px}h1{margin:0;font-size:24px;font-weight:650;letter-spacing:.3px;display:flex;gap:12px;align-items:center}h1 svg{color:#536985}h2{font-size:16px;font-weight:600;margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:28px}.stat{background:#fff;border:1px solid #e8ecf3;border-radius:10px;padding:24px}.stat>span{display:flex;align-items:center;justify-content:space-between;color:#70809b}.stat svg{color:#6d8fd7}.stat strong{display:block;font-size:36px;font-weight:600;margin-top:18px;line-height:1.2}.panel{background:#fff;border:1px solid #e6ebf2;border-radius:10px;overflow:hidden;padding:23px 24px 8px}.panel h2{padding:0 0 22px}.table-tools{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;font-weight:550}.table-tools .ant-tag{margin-left:7px;color:#7384a0;border:0;background:#eff3fa}.ant-table-thead th{font-size:12px!important;color:#77859b!important;background:#f7f9fc!important;font-weight:500!important}.ant-table-tbody td{font-size:13px;color:#40516c}.ant-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px}.ant-form-item-label label{font-size:13px!important}.permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 0}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px;padding-top:20px;border-top:1px solid #eef0f5}.codes{margin-top:25px;max-height:400px;overflow:auto}.codes code{font-size:16px}.release-detail{color:#63738c;line-height:1.8}.release-detail a{color:#295ee8}.boot{display:grid;place-items:center;min-height:100vh}.login{display:flex;align-items:center;justify-content:center;min-width:1000px;min-height:100vh;background:radial-gradient(ellipse at 12% 10%,#e4ecff,transparent 55%),#f4f6fa}.login-panel{width:420px;background:#fff;padding:42px;border:1px solid #e4eaf5;border-radius:15px;box-shadow:0 18px 70px #223f7710}.login-panel h1{font-size:25px;margin:25px 0 8px}.login-panel h2{color:#7c899f;font-size:14px;font-weight:400;margin-bottom:32px}.login-footer{font-size:11px;color:#a5afbf;text-align:center;margin-top:34px}code{font-family:ui-monospace,SFMono-Regular,monospace}.brand-icon img{display:block;width:100%;height:100%;object-fit:contain}.login-panel>.brand-icon{width:60px;height:60px}
