        .fade-in { animation: fadeIn 0.5s ease-in-out; }
        @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
        .card-hover:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.1); }

        /* 表单验证样式 */
        .input-error {
            border-color: #ef4444 !important;
            box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
        }

        .label-error {
            color: #ef4444 !important;
        }

        /* 必填字段标记 */
        .required-asterisk {
            color: #ef4444;
            margin-left: 2px;
        }

        /* 错误消息样式 */
        .error-message {
            font-size: 0.875rem;
            color: #ef4444;
            margin-top: 0.25rem;
        }

        /* 按钮禁用状态 */
        button:disabled {
            opacity: 0.5;
            cursor: not-allowed;
        }

        /* 表单布局优化 - 标签和input同行显示 */
        .form-row {
            display: flex;
            align-items: flex-start;
            gap: 1rem;
            margin-bottom: 0.75rem;
        }

        .form-label {
            flex: 0 0 140px; /* 固定标签宽度 */
            padding-top: 0.5rem; /* 与input对齐 */
            font-size: 0.875rem;
            font-weight: 500;
            color: #374151;
            line-height: 1.5rem;
        }

        .form-input {
            flex: 1;
            min-width: 0; /* 防止溢出 */
        }

        .form-input input,
        .form-input select {
            width: 100%;
            padding: 0.5rem;
            border: 1px solid #d1d5db;
            border-radius: 0.375rem;
            font-size: 0.875rem;
            line-height: 1.25rem;
        }

        .form-input input:focus,
        .form-input select:focus {
            outline: none;
            border-color: #6366f1;
            box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
        }

        /* 特殊处理textarea */
        .form-input textarea {
            width: 100%;
            padding: 0.5rem;
            border: 1px solid #d1d5db;
            border-radius: 0.375rem;
            font-size: 0.875rem;
            line-height: 1.25rem;
            resize: vertical;
            min-height: 80px;
        }

        .form-input textarea:focus {
            outline: none;
            border-color: #6366f1;
            box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
        }

        /* 辅助文本样式 */
        .form-helper-text {
            font-size: 0.75rem;
            color: #6b7280;
            margin-top: 0.25rem;
        }

        /* 响应式调整 */
        @media (max-width: 640px) {
            .form-row {
                flex-direction: column;
                gap: 0.25rem;
            }

            .form-label {
                flex: none;
                padding-top: 0;
                margin-bottom: 0.25rem;
            }
        }

        /* 登录表单样式优化 - 水平排列 */
        .login-form .form-row {
            display: flex;
            flex-direction: row;
            align-items: center;
            gap: 0.75rem;
            margin-bottom: 0.75rem;
        }

        .login-form .form-label {
            flex: 0 0 auto;
            padding-top: 0;
            font-size: 0.875rem;
            font-weight: 500;
            color: #374151;
            white-space: nowrap;
            min-width: 45px;
        }

        .login-form .form-input {
            flex: 1;
            min-width: 0;
        }

        .login-form .form-input input {
            width: 100%;
            padding: 0.5rem;
            border: 1px solid #d1d5db;
            border-radius: 0.375rem;
            font-size: 0.875rem;
        }

        .login-form .form-input input:focus {
            outline: none;
            border-color: #6366f1;
            box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
        }

        .login-form #login-btn {
            margin-top: 35px;
        }

        .form-input .checkbox-input {
            /* display: flex;
            align-items: left; */
            width:18px;
            height:32px;
        }
