*{box-sizing:border-box}html,body{margin:0;height:100%;font:14px "Microsoft YaHei",Arial;color:#333}a{text-decoration:none;color:inherit}
.login-page{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 28% 65%,#325c7b 0,transparent 45%),linear-gradient(180deg,#002847,#0a4468 55%,#d6a29a)}.login-card{width:420px;padding:54px 40px 50px;border-radius:22px;background:#f7f9fb;box-shadow:0 22px 55px #00233b55}.login-card h1{margin:0 0 8px;font-size:27px}.login-card p{margin:0 0 38px;color:#999}.login-card label{height:52px;margin-bottom:20px;display:flex;align-items:center;border:1px solid #dce4ee;border-radius:10px;background:#fff;overflow:hidden}.login-card label span{width:46px;text-align:center;color:#9aacbf}.login-card input{height:100%;border:0;outline:0;flex:1}.captcha-row img{width:118px;height:40px;object-fit:cover;cursor:pointer}.login-card button{width:100%;height:52px;border:0;border-radius:9px;background:#3478f6;color:#fff;font-weight:bold;font-size:16px;cursor:pointer}#message{height:20px;margin-top:12px;text-align:center;color:#e54d42}
.admin-shell{padding:60px 0 0 230px;overflow:hidden;background:#fff}.admin-shell header{position:fixed;z-index:20;top:0;left:230px;right:0;height:60px;display:flex;align-items:center;background:#4f78d2;color:#fff}.brand{position:fixed;z-index:21;left:0;top:0;width:230px;height:60px;display:flex;align-items:center;justify-content:center;padding:0;background:#4f78d2;font-size:20px;font-weight:600}#breadcrumb{padding-left:20px;font-size:14px;word-spacing:8px}.profile{margin-left:auto;height:60px;padding:0 34px 0 20px;display:flex;align-items:center;position:relative;cursor:pointer;font-size:14px}.profile-arrow{width:0;height:0;margin-left:7px;transform:translateY(1px);border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #fff}.logout{display:none;position:absolute;right:20px;top:53px;width:140px;background:#fff;color:#666;border-radius:4px;box-shadow:0 3px 14px #0002}.logout a{height:40px;display:flex;align-items:center;justify-content:center;gap:9px}.logout svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.7}.profile.open .logout{display:block}
.admin-shell aside{position:fixed;z-index:10;left:0;top:60px;bottom:0;width:230px;background:#658ce4;color:#fff;box-shadow:2px 0 12px #00000014}.menu-item,.submenu a{height:40px;margin:4px 0;display:flex;align-items:center;padding:0 24px;cursor:pointer;font-size:16px}.menu-item svg{width:18px;height:18px;margin-right:12px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.menu-item b{position:relative;width:14px;height:40px;margin-left:auto;font-size:0}.menu-item b:after{content:"";position:absolute;left:4px;top:16px;width:5px;height:5px;border-right:1.5px solid #4d5d75;border-bottom:1.5px solid #4d5d75;transform:rotate(45deg)}.menu-group.open>.menu-item b:after{top:19px;transform:rotate(-135deg)}.menu-item.active,.menu-item:hover,.submenu a.active,.submenu a:hover{background:#ffffff33}.submenu{display:none}.menu-group.open .submenu{display:block}.submenu a{padding-left:48px}
.tabs{position:fixed;z-index:8;left:230px;right:0;top:60px;height:44px;padding:10px 20px;border-bottom:1px solid #f0f0f0;background:#fff;box-shadow:0 1px 4px #00152914}.tabs button{height:24px;margin-right:10px;padding:0 12px;border:1px solid transparent;border-radius:5px 0 5px 0;background:#f5f5f5;color:#666;font-size:12px;cursor:pointer}.tabs button.active{color:#1e90ff;border-color:#1e90ff;background:#fff}.content{position:fixed;left:230px;right:0;top:104px;bottom:0}.content iframe{width:100%;height:100%;border:0}
.welcome-page{position:relative;overflow:hidden;background:#fff}.welcome-copy{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);text-align:center}.welcome-copy h1{font-size:42px;margin:0 0 32px}.welcome-copy p{color:#777;font-size:18px;margin-bottom:45px}.welcome-copy strong{color:#477af5;font-size:24px}.welcome-circle{position:absolute;width:380px;height:380px;border-radius:50%;background:#f4f7fb;left:-100px;bottom:-90px}
.tab-context{display:none;position:fixed;z-index:100;width:145px;padding:6px 0;background:#fff;border:1px solid #ddd;box-shadow:0 4px 14px #0002}.tab-context.show{display:block}.tab-context button{display:block;width:100%;height:40px;padding:0 16px;border:0;background:#fff;text-align:left;font-size:15px;cursor:pointer}.tab-context button:hover{background:#f3f6fa}
