:root{--vi-primary: #0b5cff;--vi-primary-end: #3b82f6;--vi-gradient: linear-gradient(135deg, #0b5cff 0%, #3b82f6 100%);--vi-text: #1e293b;--vi-text-secondary: #64748b;--vi-text-muted: #94a3b8;--vi-page-bg: #f5f7fa;--vi-border: #e2e8f0;--vi-shadow-card: 0 2px 8px rgba(15, 42, 90, .05);--vi-shadow-pop: 0 8px 24px rgba(15, 42, 90, .1)}html,body,#root{height:100%}body{margin:0;background:var(--vi-page-bg);color:var(--vi-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}.vi-login-wrap{min-height:100vh;display:flex;background:var(--vi-page-bg)}.vi-login-brand{flex:1.1;display:none;flex-direction:column;justify-content:center;padding:48px 64px;color:#fff;background:var(--vi-gradient);position:relative;overflow:hidden}.vi-login-brand:after{content:"";position:absolute;right:-120px;bottom:-120px;width:420px;height:420px;border-radius:50%;background:#ffffff14}.vi-login-brand:before{content:"";position:absolute;right:80px;top:-80px;width:260px;height:260px;border-radius:50%;background:#ffffff0f}@media (min-width: 900px){.vi-login-brand{display:flex}}.vi-brand-logo{width:56px;height:56px;border-radius:14px;background:#ffffff29;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;margin-bottom:24px}.vi-login-brand h1{font-size:30px;margin:0 0 8px;letter-spacing:1px}.vi-login-brand p{font-size:15px;opacity:.85;margin:0 0 40px}.vi-brand-points{display:flex;flex-direction:column;gap:14px;font-size:14px;opacity:.92}.vi-brand-points span{display:flex;align-items:center;gap:10px}.vi-brand-dot{width:6px;height:6px;border-radius:50%;background:#fff;flex:none}.vi-login-main{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 20px}.vi-login-card{width:100%;max-width:400px;background:#fff;border-radius:16px;box-shadow:var(--vi-shadow-pop);padding:40px 36px 32px;position:relative}.vi-test-badge{position:absolute;top:16px;right:16px;font-size:12px;color:#b45309;background:#fffbeb;border:1px solid #fde68a;padding:2px 10px;border-radius:999px}.vi-login-card h2{margin:0 0 4px;font-size:22px;color:var(--vi-text)}.vi-login-sub{color:var(--vi-text-muted);font-size:13px;margin-bottom:28px}.vi-login-btn{width:100%;height:44px;border:none;border-radius:10px;background:var(--vi-gradient);color:#fff;font-size:15px;font-weight:600;letter-spacing:2px;cursor:pointer;transition:opacity .2s,transform .1s;box-shadow:0 6px 16px #0b5cff47}.vi-login-btn:hover{opacity:.92}.vi-login-btn:active{transform:translateY(1px)}.vi-login-btn:disabled{opacity:.55;cursor:not-allowed}.vi-login-foot{margin-top:20px;text-align:center;font-size:12px;color:var(--vi-text-muted)}.vi-sider-logo{color:#fff;font-weight:700;font-size:17px;letter-spacing:1px;padding:18px 20px;display:flex;align-items:center;gap:10px}.vi-sider-logo .vi-brand-logo{width:34px;height:34px;font-size:17px;border-radius:9px;margin:0;background:#ffffff24}.vi-header{background:#fff;padding:0 24px;display:flex;align-items:center;box-shadow:0 1px 0 var(--vi-border);font-weight:600;color:var(--vi-text)}.vi-input-wrap{position:relative}.vi-input-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#94a3b8}.vi-input{width:100%;box-sizing:border-box;height:44px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;padding:0 12px 0 38px;font-size:14px;color:#1e293b;outline:none;transition:border-color .15s,box-shadow .15s}.vi-input::placeholder{color:#94a3b8}.vi-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}
