:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}.oauth-container{height:100vh;width:100vw;overflow:hidden;background-color:#f5f5f5;display:flex;flex-direction:row;padding:0;align-items:stretch}.oauth-container .login-left{flex:1;background-color:#fff1f0;display:flex;justify-content:center;align-items:center;position:relative}.oauth-container .login-left .illustration{width:80%;max-width:600px;height:auto;object-fit:contain}.oauth-container .login-left .brand-logo{position:absolute;top:40px;left:40px;display:flex;align-items:center;gap:12px}.oauth-container .login-left .brand-logo .logo-text{border-left:1px solid #ddd;padding-left:12px;font-size:16px;color:#333}.oauth-container .login-right{flex:1;background-color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;overflow-y:auto}.oauth-container .login-card{border-radius:0;box-shadow:none;max-width:480px;width:100%;border:none}.oauth-container .login-card .ant-card-body{padding:40px}.oauth-container .login-card .login-header{text-align:center;margin-bottom:40px}.oauth-container .login-card .login-header h3.ant-typography{font-size:24px;color:#333;margin-bottom:10px;font-weight:600}.oauth-container .login-card .login-header .title-underline{width:60px;height:3px;background-color:#e60012;margin:0 auto}.oauth-container .login-card .ant-input-affix-wrapper{padding:10px 11px;border:none;border-bottom:1px solid #d9d9d9;border-radius:0;box-shadow:none!important}.oauth-container .login-card .ant-input-affix-wrapper:focus,.oauth-container .login-card .ant-input-affix-wrapper-focused{border-bottom-color:#e60012}.oauth-container .login-card .ant-input-affix-wrapper .ant-input-prefix{margin-right:12px;color:#e60012}.oauth-container .login-card .ant-btn-primary{height:48px;background-color:#e60012;border-color:#e60012;font-size:16px}.oauth-container .login-card .ant-btn-primary:hover{background-color:#d10010;border-color:#d10010}.oauth-container .login-card .login-footer{text-align:center;margin-top:20px}.oauth-container .authorize-card{border-radius:12px;box-shadow:0 4px 12px #0000000d;max-width:500px;width:100%}.oauth-container .authorize-card .ant-card-body{padding:40px}.oauth-container .error-card{max-width:500px;width:100%}.oauth-container .copyright{position:absolute;bottom:24px;color:#999;font-size:12px;width:100%;text-align:center}.feishu-callback-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.feishu-callback-container .callback-card{border-radius:16px;padding:40px;box-shadow:0 10px 40px #00000026;text-align:center;max-width:400px;width:90%;min-height:200px;display:flex;flex-direction:column;justify-content:center}.feishu-callback-container .callback-card .ant-card-body{padding:0}.feishu-callback-container .loading-section{display:flex;flex-direction:column;align-items:center;gap:16px}.feishu-callback-container .loading-section h3{margin:0;color:#2c3e50;font-size:20px;font-weight:500}.feishu-callback-container .loading-section p{margin:0;color:#7f8c8d;font-size:14px}.feishu-callback-container .error-section{display:flex;flex-direction:column;align-items:center;gap:16px}.feishu-callback-container .error-section h3{margin:0;color:#e74c3c;font-size:20px;font-weight:500}.feishu-callback-container .error-section p{margin:0;color:#7f8c8d;font-size:14px;line-height:1.5}.feishu-callback-container .error-section .error-actions{display:flex;gap:12px;margin-top:8px}@media(max-width:480px){.feishu-callback-container .callback-card{padding:30px 20px;margin:20px}.feishu-callback-container .error-actions{flex-direction:column;width:100%}.feishu-callback-container .error-actions .ant-btn{width:100%}}.oauth2-error-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.oauth2-error-container .error-card{max-width:600px;width:100%;text-align:center;border-radius:12px;box-shadow:0 8px 32px #0000001a}.oauth2-error-container .error-card .error-icon{margin-bottom:20px}.oauth2-error-container .error-card .error-title{color:#ff4d4f;margin-bottom:20px}.oauth2-error-container .error-card .error-description{margin-bottom:30px;font-size:16px;color:#606266}.oauth2-error-container .error-card .technical-details{font-family:monospace;font-size:14px}.oauth2-error-container .error-card .technical-details .detail-item{margin-bottom:8px;word-break:break-all}.oauth2-error-container .error-card .action-buttons{justify-content:center;width:100%}@media(max-width:768px){.oauth2-error-container .error-card{padding:20px}.oauth2-error-container .action-buttons{flex-direction:column;width:100%}.oauth2-error-container .action-buttons .ant-btn{width:100%}}#root{width:100%;height:100%;margin:0;padding:0}
