.login-container{position:fixed;top:0;left:0;width:100vw;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#de2910}.flag-wave-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;display:block}.login-background{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:1;pointer-events:none}.flag-ribbon{position:absolute;width:320px;height:320px;border-radius:50%;opacity:.1;animation:ribbonPulse 9s ease-in-out infinite}.flag-ribbon-tl{top:-140px;left:-140px;background:radial-gradient(circle,rgba(255,230,100,.9) 0%,rgba(255,100,30,.5) 55%,transparent 100%);animation-delay:0s}.flag-ribbon-br{bottom:-140px;right:-140px;background:radial-gradient(circle,rgba(255,200,80,.8) 0%,rgba(180,0,0,.5) 55%,transparent 100%);animation-delay:4.5s}@keyframes ribbonPulse{0%,to{transform:scale(1) rotate(0);opacity:.1}50%{transform:scale(1.4) rotate(18deg);opacity:.18}}.login-content{position:relative;z-index:10;width:100%;max-width:440px;padding:20px;animation:slideUp .7s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(40px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.login-card{background:#fffffff7;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border-radius:16px;padding:48px 40px;box-shadow:0 40px 100px #50000099,0 0 0 1px #ffd70038 inset,0 2px #ffd70073 inset;border-top:4px solid #DE2910;transition:transform .35s ease,box-shadow .35s ease}.login-card:hover{transform:translateY(-5px);box-shadow:0 56px 120px #500000a6,0 0 0 1px #ffd70047 inset,0 2px #ffd7008c inset}.login-header{text-align:center;margin-bottom:36px;position:relative}.login-header:after{content:"";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:64px;height:2px;background:linear-gradient(90deg,transparent,#DE2910,transparent);border-radius:2px}.logo-section{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:12px}.logo-icon{width:56px;height:56px;background:linear-gradient(135deg,#de2910,#8b0000 60%,gold);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 24px #de291080,0 0 0 1px #ffd70066;animation:logoPulse 3.5s ease-in-out infinite;border:1px solid rgba(255,215,0,.35)}@keyframes logoPulse{0%,to{box-shadow:0 8px 24px #de291073,0 0 0 1px #ffd7004d}50%{box-shadow:0 14px 36px #de291099,0 0 0 7px #ffd7001f}}.logo-icon svg{width:32px;height:32px}.logo-text{text-align:left}.system-title{font-size:26px;font-weight:700;color:#1a1a1a;margin:0;line-height:1.2;letter-spacing:1px;font-family:PingFang SC,Microsoft YaHei,SimHei,sans-serif}.system-subtitle{font-size:12px;color:#8b0000;margin:5px 0 0;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;font-family:SF Pro Display,-apple-system,sans-serif;opacity:.75}.login-form{margin-top:28px}.login-form .ant-form-item{margin-bottom:20px}.login-input{height:48px;border-radius:6px;border:1px solid #E0E0E0;font-size:15px;transition:all .25s ease;background:#fafafa}.login-input:hover{border-color:#de2910;background:#fff;box-shadow:0 2px 8px #de29101f}.login-input:focus,.login-input.ant-input-focused{border-color:#de2910;background:#fff;box-shadow:0 0 0 3px #de29101a}.login-input .ant-input{background:transparent;font-size:15px}.login-input .ant-input::placeholder{color:#bfbfbf}.input-icon{color:#8b0000;font-size:16px;margin-right:4px}.login-button{height:48px;border-radius:6px;font-size:16px;font-weight:600;background:linear-gradient(135deg,#de2910,#8b0000);border:none;box-shadow:0 6px 20px #de291066;transition:all .25s ease;margin-top:8px;letter-spacing:2px}.login-button:hover:not(:disabled){background:linear-gradient(135deg,#c0200c,#6b0000);box-shadow:0 10px 30px #de291080;transform:translateY(-2px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{background:linear-gradient(135deg,#bfbfbf,#a0a0a0);box-shadow:none}.login-footer{margin-top:28px;text-align:center}.footer-divider{height:1px;background:linear-gradient(90deg,transparent,#FFD700 50%,transparent);margin-bottom:16px;opacity:.45}.footer-text{font-size:12px;color:#8c8c8c;margin:0;font-weight:400;line-height:1.6}.login-form .ant-form-item-explain-error{font-size:13px;margin-top:6px;color:#cf1322}.forgot-link-row{display:flex;justify-content:flex-end;margin-top:-8px;margin-bottom:16px}.forgot-link{font-size:13px;color:#8b0000;cursor:pointer;opacity:.75;transition:opacity .2s ease,color .2s ease;-webkit-user-select:none;user-select:none}.forgot-link:hover{opacity:1;color:#de2910;text-decoration:underline}.forgot-modal .ant-modal-content{border-radius:14px;overflow:hidden;box-shadow:0 24px 64px #50000038}.forgot-modal .ant-modal-header{border-bottom:1px solid rgba(222,41,16,.12);padding-bottom:14px}.forgot-modal-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#1a1a1a}.forgot-modal-body{padding:8px 0 4px}.forgot-steps{margin-bottom:24px}.forgot-steps .ant-steps-item-finish .ant-steps-item-icon,.forgot-steps .ant-steps-item-process .ant-steps-item-icon{background:#de2910;border-color:#de2910}.forgot-step-content{animation:fadeInUp .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.forgot-hint{font-size:13px;color:#666;margin-bottom:18px;line-height:1.6}.forgot-phone{color:#de2910;font-weight:600}.forgot-btn{height:44px;border-radius:6px;font-size:15px;font-weight:600;background:linear-gradient(135deg,#de2910,#8b0000);border:none;box-shadow:0 4px 14px #de291059;letter-spacing:1px}.forgot-btn:hover:not(:disabled){background:linear-gradient(135deg,#c0200c,#6b0000)!important}.forgot-actions{display:flex;gap:12px;margin-top:4px}.forgot-back-btn{flex:1;height:44px;border-radius:6px;border-color:#d9d9d9;color:#555}.forgot-back-btn:hover{border-color:#de2910!important;color:#de2910!important}.forgot-submit-btn{flex:2;height:44px;border-radius:6px;background:linear-gradient(135deg,#de2910,#8b0000);border:none;font-weight:600;box-shadow:0 4px 14px #de291059}.forgot-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#c0200c,#6b0000)!important}.resend-btn{font-size:12px;color:#de2910;cursor:pointer;white-space:nowrap;font-weight:500;transition:opacity .2s}.resend-btn:hover{opacity:.75}.resend-disabled{color:#bfbfbf!important;cursor:not-allowed!important}.login-tabs{display:flex;margin-top:24px;margin-bottom:4px;border-bottom:2px solid #F0F0F0}.login-tab{flex:1;background:none;border:none;cursor:pointer;padding:10px 0;font-size:14px;font-weight:500;color:#8c8c8c;position:relative;transition:color .2s ease;outline:none}.login-tab:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%) scaleX(0);width:60%;height:2px;background:#de2910;border-radius:2px;transition:transform .25s ease}.login-tab:hover{color:#de2910}.login-tab-active{color:#de2910;font-weight:600}.login-tab-active:after{transform:translate(-50%) scaleX(1)}.sms-send-btn{background:none;border:1px solid #DE2910;border-radius:4px;color:#de2910;cursor:pointer;font-size:12px;font-weight:500;padding:2px 8px;white-space:nowrap;transition:all .2s ease;outline:none}.sms-send-btn:hover:not(:disabled){background:#de2910;color:#fff}.sms-send-disabled{border-color:#d9d9d9!important;color:#bfbfbf!important;cursor:not-allowed!important}.sms-send-disabled:hover{background:none!important;color:#bfbfbf!important}@media(max-width:768px){.login-content{max-width:100%;padding:16px}.login-card{padding:32px 24px;border-radius:12px}.logo-section{flex-direction:column;gap:12px}.logo-text{text-align:center}.system-title{font-size:22px}.system-subtitle{font-size:11px}}@media(max-width:480px){.login-card{padding:28px 20px}.system-title{font-size:20px}.login-input,.login-button{height:44px}.footer-text{font-size:11px}}:root{--background: #ffffff;--foreground: #1a1a1a;--card: #ffffff;--card-foreground: #1a1a1a;--primary: #8B0000;--primary-light: #C41C1C;--primary-foreground: #ffffff;--secondary: #F5F5F5;--secondary-foreground: #8B0000;--muted: #F5F5F5;--muted-foreground: #595959;--accent: #D4A017;--accent-foreground: #ffffff;--destructive: #CF1322;--destructive-foreground: #ffffff;--border: #E0E0E0;--input: #E0E0E0;--ring: #C41C1C;--radius: .25rem}*{box-sizing:border-box;border-color:var(--border)}body{margin:0;background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;background:#0000000f;padding:2px 6px;border-radius:4px;font-size:.9em}pre code{background:transparent;padding:0}
